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:

Scr_002.jpg

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.


Scr_001.jpg

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


Scr_003.jpg

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. 


Scr_004.jpg

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.

Scr_005.jpg

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

Scr_006.jpg

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

Scr_007.jpg

Analicemos la línea 1:

Scr_008.jpg

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 Scr_010.jpg

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

Scr_012.jpg

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

Scr_013.jpg

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.


Scr_014.jpg

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.

Scr_015.jpg 

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


Scr_016.jpg

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.


Scr_017.jpg


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/

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

Leave a Reply