Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
dairolozano
Contributor

En este documento vamos a explicar cómo se puede utilizar la tabla TVARV como opción estándar para la creación de variantes dinámicas, tanto para programas estándar como programas Z.


En primer lugar vamos a revisar la forma normal de crear y modificar una variante.  Esto puede trivial pero es útil revisarlo para entender luego como hacerlo de forma dinámica.

Creación y modificación de variantes

Partamos del siguiente programa de ejemplo:

En primer lugar, crearemos una variante de la manera tradicional. Para ello digitamos valores en los dos parámetros de selección y luego presionamos el botón de guardar.


En el siguiente diálogo escribimos un nombre y una descripción para nuestra variante y presionamos de nuevo el botón guardar.


Una vez hecho, al regresar a la pantalla de selección, veremos que ahora aparece el botón de seleccionar variante y al presionarlo aparecerá un dialogo donde podremos seleccionarla para no tener que ingresar de nuevo estos valores. 


Vamos a revisar cómo se almacenan los valores en la variante.  Para ello ingresamos a la transacción SE38 y en la pantalla inicial seleccionamos la opción Variantes y presionamos el botón Visualizar.

En el siguiente diálogo podemos usar el matchcode para seleccionar nuestra variante.  Luego seleccionamos la opción Valores y el botón visualizar.

En la pantalla que se presenta podemos ver la forma en que se almacenan los valores de nuestra variante. 

Analicemos la línea 1:

Aquí vemos que se ha especificado para el parámetro S_MATNR (Material), que se incluya “I” un rango entre “BT” MAT1 y MAT5.

Supongamos ahora que queremos excluir de esta el valore MAT3.  En esta misma pantalla podemos modificar la variante para hacer esta exclusión. 

Para ello presionamos el botón Valores

En la pantalla siguiente seleccionamos el botón de selecciones múltiples

En la ventana que aparece escogemos la opción Excluir valores individuales

Presionamos Aceptar, Guardar y regresamos hasta la ventana inicial y elegimos de nuevo visualizar valores, donde veremos ahora una nueva línea que contiene el valor excluido.


Podemos interpretar esta línea diciendo que se está “E” excluyendo los registros cuyo valor que sea igual “EQ” a MAT3.

De forma similar hubiéramos podido excluir un rango de valores, seleccionando la pestaña Excluir intervalos y digitando los valores.

 

En la pantalla de visualizar valores veremos ahora que se “E” excluyen los registros con valores el rango comprendido entre “BT” MAT3 y MAT4.


Este procedimiento es muy sencillo aunque bastante manual.  Por otro lado, a menos que el creador de la variante use el checkbox proteger variante, cualquier usuario con acceso a la transacción puede modificar los rangos de valores y generar resultados inesperados.



Variantes Dinámicas


Existe otro procedimiento  mediante el cual podemos crear la misma variante de forma dinámica, que pueda ser modificada de forma más eficiente y con un nivel mayor de control, el cual se describe en detalle en el siguiente documento:


http://scn.sap.com/docs/DOC-73754/

3 Comments