Press "Enter" to skip to content

SAP ABAP: Batch Input para VK11 Condiciones de Precio

snatic_k8ot5v 0

SAP ABAP: Batch Input para VK11 Condiciones de Precio

Aunque el abap es el pan de cada día cuando uno trabaja en SAP, y nos ayuda a automatizar muchos procesos, aquí les muestro un pequeño ejemplo del uso de batch input así como algo relacionado a las condiciones de precio generadas en la VK11, esta transacción nos ayuda en la creación de condiciones de precios, inicialmente se ingresa una clase de condición configurada, mayoritariamente es una Z, estos procesos se configuran previamente, pero dependerá de cada empresa, al final la grabación se hace específicamente para el proceso deseado:

Dependiendo lo que se configure estas opciones cambian ya que se puede realizas las condiciones de precio a diferentes niveles, por ejemplo en este caso Destinatario, Gr. Precios o Lista de Precios:

Dependiendo la opción la siguiente pantalla pedirá los parámetros requeridos para iniciar la condición, los cuales tendríamos que llenar para completar la actividad.

Basado en esto la idea es hacer un batch input que simule este proceso, aunque sé que no entre en mucho detalle funcional no es el propósito, lo que tal vez si valga la pena decir es que cuando configuran esta parte se generan unas tablas que inician con una A por ejemplo A910, A915, etc las cuales toman las diferentes parametrizaciones de cada opcion, el batch input nos puede ayudar a hacer más sencillo un proceso, incluso ligar a otros que ayuden a tener más control, repitiendo cada paso de la manera correcta para que en SAP no se afecten tablas de manera secundaria.

Lo siguiente es ir a la transacción SHDB que es la principal del batch input, aquí vamos a grabar nuestro batch, para eso utilizamos el botón, seguimos los pasos en la pantalla como si hiciera el proceso normalmente:

Esto capturara cada paso realizado y al final del proceso nos enviara un código que equivale a los pasos realizados, ahí mismo se observara los parámetros insertados


Teniendo esta grabación terminada:

Procedemos a realizar el programa, lo recomendable es utilizar el botón de la misma transacción SHDB con lo cual no tendremos que hacer la conversión, el mismo programa lo hará por nosotros:

Finalmente detallando el programa tendremos el cascaron de este proceso donde podremos utilizar las condiciones de precio para alguna interesante variación, donde podremos codificar a placer lo que realmente necesitamos, como resumen les explico las bases del batch input:

Básicamente se utilizan 3 programas estándares BDC_DYNPRO, BDC_FIELD y BDC_TRANSACTION.

BDC_DYNPRO: inicializa el programa y la pantalla del programa que utilizaremos

BDC_FIELD: inicia nombre del campo y valor del programa anterior

BDC_TRANSACTION: cuando se termina la asignación de estos programas, pantallas, campos y valores este programa inyecta la grabación a la transacción deseada.

Ejemplo:

perform bdc_dynpro using ‘SAPMV13A’ ‘1910’. //inyecto programa y pantalla dynpro

perform bdc_field using ‘BDC_CURSOR’ // inyecto campo

‘KOMG-MATNR(01)’. //inyecto valor

perform bdc_field using ‘BDC_OKCODE’ //otro campo

‘=SICH’. //su valor

perform bdc_transaction using ‘VK11’. //ejecuto transacción con la información anterior

Adicionalmente es importante que se abra una sesión donde se almacenan estos datos de estos programas utilizando el programa OPEN_GROUP esto mantendrá la sesión requerida para procesar el batch input

Para mayor detalle en la sesión del batch input les recomiendo este link: http://help.sap.com/saphelp_nw70/helpdata/en/fa/097119543b11d1898e0000e8322d00/content.htm

Ya para finalizar les comento que también se puede utilizar otra transacción que reduce los pasos y es más directa, pero el propósito es el mismo, la XK15 y también hay otras técnicas que se pueden utilizar, BAPI’s, Los módulos de función que componen esa BAPI, entre otras cosas, pero este es un proceso viable dependerá de cada quien el uso.

SAP ABAP: Batch Input para VK11 Condiciones de Precio