✒️ABAP Las subrutinas y la grabación de datos de un BI
ABAP Las subrutinas y la grabación de datos de un BI
Apuntes ING Ezequiel Hurtado Benitez
Subrutinas en un Batch Input Para hacer más simple la creación de un Batch Input, vamos a utilizar la subrutina LLENAR_TABLA_BDCDATA, que nos va a permitir modularizar los programas. La estructura de la subrutina LLENAR_TABLA_BDCDATA es la siguiente:
PERFORM llenar_tabla_bdcdata USING <dynpro>; <campo1>; <campo2>
Analicemos a continuación para que se utiliza cada uno de los tres parámetros de entrada que son: Dynpro, en un flag que cuando está en 'X' indica que la línea que se intenta cargar en la tabla interna BDCDATA es un dynpro; Campo1, es el contenido del campo 1, el cual es un texto que se pasa entre comillas; Campo2, es el contenido del campo 2, el cual es un texto que se pasa entre comillas. Veamos a continuación la definición de la subrutina LLENAR_TABLA_BDCDATA. Ahora bien, existen dos formas de ejecutar la subrutina LLENAR_TABLA_BDCDATA. Si lo que vamos a cargar en la tabla interna BDCDATA es una dynpro entonces vamos a completar los campos: program, dynpro y dynbegin de la siguiente forma:
PERFORM llenar_tabla_bdcdata USING 'X' 'SAPMSVMA' '0100'.
Y si lo que vamos a cargar en la tabla interna BDCDATA no es una dynpro entonces vamos a completar los campor: fnam y fval.
PERFORM llenar_tabla_bdcdata USING ' ' 'BDC_OKCODE' '=SAVE'.
Ahora bien si cambiamos el código ABAP de la lección anterior, utilizando la subrutina LLENAR_TABLA_BDCDATA, el mismo quedaría como en la imagen. (En el ejemplo anterior podemos ver lo importante que es la modularización en los programas Batch Input).
¿Cómo obtener los datos necesarios para la carga de la tabla interna BDCDATA? Vamos a explicar cómo obtener los valores que cargamos en la tabla interna BDCDATA. Para ello, tomamos el ejemplo de la carga de la tabla BDCDATA, que vimos en la lección anterior. Vamos a entrar a la transacción SM30 y recuperar los datos correspondientes a la primera pantalla. Existen varias formas de obtener información de una pantalla. Ellas son: Posicionándonos sobre un campo de entrada de datos presionamos la tecla F1. Y luego hacemos clic en el botón de Información técnica. Y veremos una ventana de diálogo con información relevante para el armado de la tabla BDCDATA, como es el nombre del programa, el nombre de la dynpro y el nombre del campo. Parándonos sobre un botón de la pantalla presionamos F1. Y vewremos una ventana de diálogo con el nombre del programa y el código de función correspondiente al botón. En todas las pantallas de SAP, podemos visualizar en el extremo inferior derecho de las mismas, diferentes datos de la pantalla como ser el nombre del programa en ejecución, la transacción, etc.
La grabación de un Batch Input. Otra forma más eficiente de obtener los datos para la carga de la tabla interna BDCDATA, consiste en realizar una grabación de los pasos que hacemos en la ejecución de las transacciones, mediante la transacción estándar SM35. (SM35 Conocida como "la grabadora", es utilizada para realizar la grabación de las sesiones de Batch Input que nos será de gran utilidad a la hora de desarrollar nuestros programas) Para realizar la grabación, hacemos clic en el botón Grabación. Luego hacemos clic en el botón Grabación nueva. Y veremos el evento de diálogo. A continuación analizaremos cada uno de los campos del sistema: Grabación, aquí asignamos un nombre a la grabación; Código de Transacción, aquí ingresamos el nombre de la transacción. El resto de las opciones, las dejamos como están y hacemos clic en el botón Inicial grabación. Luego seguiremos la secuencia de pantallas hasta generar un registro en la tabla ZTABLA_USUARIOS, que finaliza haciendo clic en el botón grabar y saliendo de la transacción. Después de esto, veremos la pantalla con la grabación. ( Cuando estamos haciendo una grabación en la transacción SM35 y queremos ver el resultado de la misma, debemos hacer clic en el botón grabar o el botón exit de la pantalla.) Si nos fijamos, la tabla con las columnas que visualizamos en la grabación tiene la estructura que la tabla interna BDCDATA. Luego si hacemos clic en el botón grabado, la grabación quedará almacenada en el sistema para consultarla mientras hacemos el Batch Imput. También es posible exportarla a un archivo o importar de un archivo una grabación. Por último, si volvemos para atrás, hacemos clic en el botón Back de la pantalla, veremos la grabación que acabamos de crear con cierta información de la misma. Podemos ejecutar la grabación cuantas veces queremos, haciendo clic en el botón procesar y seleccionando la grabación de la pantalla. También es posible modificar una grabación para volver a ejecutarla.
 
 
 
Sobre el autor
Publicación académica de Ezequiel Hurtado Benitez, en su ámbito de estudios para la Carrera Consultor ABAP.
Ezequiel Hurtado Benitez
Profesión: Ingeniero Mecatrónico - Colombia - Legajo: FD18B
✒️Autor de: 45 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero mecatrónico bilingüe con maestría en dirección de ventas y marketing empresarial, con conocimientos y experiencia en programación, diseño, elaboración y pruebas en proyectos de automatizació
Certificación Académica de Ezequiel Hurtado