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


Definición


En los documentos anteriores hemos revisado los siguientes temas:


Creación de variantes:  Como crear variantes dinámicas – Parte 1
Variantes dinámicas usando la tabla TVARV:Como crear variantes dinámicas – Parte 2
Fechas calculadas en variantes dinámicas:Como crear variantes dinámicas – Parte 3



                                       

En este documento veremos como completar valores en variantes dinámicas a partir de variables de usuario.


Para esto utilizaremos como ejemplo el siguiente reporte:


Supongamos que necesitamos que los parámetros Sociedad, Material, Lote y Centro se llenen automáticamente con unos valores prefijados para cada usuario.  Una opción podría ser que todos esos datos estén  en una tabla Z de modo que los datos se traigan mediante un SELECT a dicha tabla. Esto implicaría tener una transacción que actualice esos datos  y una política de administración de la misma. Ademas, es posible que algunos de estos datos estén cambiando con cierta regularidad y sea el usuario mismo quien deba definir el valor que van a tener, lo que podría causar que nos llenemos de un montón de solicitudes de cambios y transportes de los valores de esa tabla.   Podríamos entonces permitir que el usuario sea quien haga los cambios pero tendríamos asegurarnos de que solo pueda afectar sus propios valores


Una alternativa estándar con la que podemos darle ese control al usuario sin afectar la seguridad es mediante variables de usuario.




Definición de parametros en el programa ABAP


En primer lugar, debemos asegurarnos de que los parámetros que queremos enlazar con la variable de usuario tengan asociado un parámetro SET/GET de memoria SAP mediante la cláusula MEMORY ID.


Definición de valores para las variables de usuario



El paso siguiente es asignar el valor de la variable.   Para ello ejecutamos nuestro reporte y seleccionamos las siguientes opciones del menú :  Pasar a -> Variables Usuario


A continuación se nos presentaran las dos variables que hemos asociado a nuestros parámetros.  Primero seleccionaremos la opción MAT que corresponde al material.


Seleccionamos la opción variable:

En la ventana siguiente ingresamos el valor que vamos a asignar a la variable:

Confirmamos la grabación en las siguientes ventanas de diálogo:



Una vez hecho esto habremos asociado nuestro valor personalizado para la variable MAT.  Procedemos de igual forma con la variable CHA correspondiente al parámetro Lote.


Creación de la variante dinámica


Una vez hecho todo esto podemos crear la variante de la siguiente forma:


  • Invocamos el programa y llenamos los campos que van a tener valores fijos, dejando vacíos los que van a calcularse dinámicamente.  Para este caso vamos a dejar en blanco los campos Material y Lote, luego de esto presionamos el botón de guardar.

  • Como en los casos anteriores, en el dialogo siguiente escribimos el nombre y descripción de la orden.  Luego de esto nos ubicamos en el campo Material.


  • Hacemos doble clic sobre el campo correspondiente a la columna "Variable Selección".  En el diálogo resultante seleccionamos la opción "B - Variable especifica de usuario.



Veremos entonces que campo correspondiente a la columna "Nombre de Variables" se debe llenar automáticamente con la descripción asociada a la variable MAT.



Repetimos los mismos pasos para el parámetro de selección LOTE obteniendo el siguiente resultado:

  • Una vez lista nuestra variante presionamos el botón de guardar y regresamos a nuestro reporte.




Utilización de variables de usuario en la variante dinámica



  • Como paso final ejecutamos el reporte y seleccionamos la variante "VAR_TEST" que acabamos de crear.



Al seleccionar la variante veremos que los parámetros Material y Lote se han completado con los valores que ingresamos para las variables.



Creación de variables de usuario


Para el caso descrito en este documento hemos utilizado 2 variables de usuario definidas en el estándar, lo que implica que si esta misma variable es utilizada en otros programas los valores que hemos almacenado se llenen de forma automática en esos programas.  En el siguiente documento revisaremos como se crean nuevas variables de usuario que podemos también utilizar en nuestros desarrollos.

3 Comments