✒️ABAP Las subrutinas y la grabación de datos de un BI
ABAP Las subrutinas y la grabación de datos de un BI
UTILIZACION DE SUBRUTINAS EN UN BATCH INPUT
Para hacer mas simple la creacion de un batch input vamos a utilizar la subrutina BDC_FIELD, que nos van a permitir modularizar los programas.
FORM bdc_field USING dyn_begin TYPE c
campo1 campo2. CLEAR st_bdc_data. IF dyn_begin = 'X'. st_bdc_data-program = campo1. st_bdc_data-dynpro = campo2. st_bdc_data-dynbegin = dyn_begin. ELSE. st_bdc_data-fnam = campo1. st_bdc_data-fval = campo2. ENDIF. APPEND st_bdc_data TO ti_bdc_data. ENDFORM. " bdc_fieldSi cambiamos el código de la lección anterior, utilizando la subrutina BDC_FIELD, el mismo quedaria de la siguiente manera:
* Ingreso a la Primer pantalla y presiono boton de mantenimiento PERFORM bdc_field USING 'X' 'SAPMSVMA' '0100'. PERFORM bdc_field USING ' ' 'VIEWNAME' 'ZTABLA_USUARIOS'. PERFORM bdc_field USING ' ' 'BDC_OKCODE' '=UPD'. * Presiono boton de nuevas entradas PERFORM bdc_field USING 'X' 'SAPLZTABLA_USUARIOS' '0001'. PERFORM bdc_field USING ' ' 'BDC_OKCODE' '=NEWL'. * Cargo datos del usuario PERFORM bdc_field USING 'X' 'SAPLZTABLA_USUARIOS' '0001'. PERFORM bdc_field USING ' ' 'ZTABLA_USUARIOS-DNI' st_usuarios-dni. PERFORM bdc_field USING ' ' 'ZTABLA_USUARIOS-NOMBRE_APE' st_usuarios-nombre_ape. PERFORM bdc_field USING ' ' 'ZTABLA_USUARIOS-ESTADO_USU' st_usuarios-estado_usu. PERFORM bdc_field USING ' ' 'ZTABLA_USUARIOS-DIRECCION' st_usuarios-direccion. PERFORM bdc_field USING ' ' 'ZTABLA_USUARIOS-CODIGO_POSTAL' st_usuarios-codigo_postal. PERFORM bdc_field USING ' ' 'ZTABLA_USUARIOS-FECHA_NAC' st_usuarios-fecha_nac. PERFORM bdc_field USING ' ' 'ZTABLA_USUARIOS-ESTADO_CIVIL' st_usuarios-estado_civil. * Grabo los Registros PERFORM bdc_field USING ' ' 'BDC_OKCODE' '=SAVE'. * Cierro la segunda pantalla PERFORM bdc_field USING 'X' 'SAPLZTABLA_USUARIOS' '0001'. PERFORM bdc_field USING ' ' 'BDC_OKCODE' '=ENDE'. * Cierro la primer pantalla PERFORM bdc_field USING 'X' 'SAPMSVMA' '0100'. PERFORM bdc_field USING ' ' 'BDC_OKCODE' '/EENDE'.
------------------------------------------------------------------------------------------
COMO OBTENER LOS DATOS NECESARIOS PARA LA CARGA DE LA TABLA BDCDATA Una vez cargados los datos en la tabla interna BDCDATA. Para ello, tomamos el ejemplo de la carga de la tabla BDCDATA, que vimos en la leccion anterior. Entramos a la transaccion SM30, y recuperar los datos correspondientes a la priemr pantalla. Existen varias formas de obtenr informacion en la pantalla. -Parandonos sobre un campo de entradade datos presionamos F1. Click en el boton información técnica y veremos una ventana de dialogó con informacion relevante para el armado de la tabla BDCDATA, como el nombre del programa, el nombre de la dynpro y el nombre del campo. Podemos visualizar en el extremo inferior derecho de las mismas diferentes datos de la pantalla como el nombre del programa, la transacción, etc. -------------------------------------------------------------------------------- GRABACION DE UN BATCH INPUT Otra forma mas eficiente de obtenr los datos para la carga de la tabla BDCDDATA, consiste en realizar una grabación de los pasos que hacemos en la ejecucion de transacciones, mediante la transaccion SM35. La transacción SM35, conocida como la grabadora, es utilizada para realizar la grabación de las sesiones de batch input, de gran utilidad para desarrollar nuestros programas. Para grabar: - Boton grabacion - grabación nueva - ventana de dialogo - grabacion (asignar nombre a la grabacion) - codigo de transaccion (ingresamos el nombre de la transacción) - el resto se deja como esta - boton iniciar grabación Se sigue pantallas hasta generar un registro en la tabla ztabla_usuarios, que finaliza presionando el boton grabar y saliendo de la transacción. DEspues vemos la pantalla con la grabación. Para ver el resultado debemos presionar el boton grabar o el boton exit de la pantalla. Las columnas que visualizamos en la grabacion tiene la misma estructura que la tabla BDCDATA. Presionamos el boton grabar, queda almacenada en el sistema para consultarla mientras hacemos el batch input. Tambien es posible exportarla a un archivo o imortarla de un archivo una grabación. F1 y F4 , errores y warnings y el scroll back no son registrados en la grabación. Al dar el boton back, veremos la grabacion que acabamos de crear con cierta inforación de la misma. Podemos ejecutar la grabación cuantas veces queramos, presionando el boton procesar y seleccionando la grabacion de la pantalla. También es posible modifcar una grabación creada para volver a ejecutarla.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Edgar Moreno Tello
Sobre el autor
Publicación académica de Oscar Guillermo Rodriguez Villate, en su ámbito de estudios para la Carrera Consultor ABAP.
Oscar Guillermo Rodriguez Villate
Profesión: Ingeniero de Sistemas - Colombia - Legajo: WM49P
✒️Autor de: 103 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Oscar Rodriguez