✒️ABAP Las subrutinas y la grabación de datos de un BI
ABAP Las subrutinas y la grabación de datos de un BI
SUBRUTINAS Y GRABACIÒN DE DATOS DE UN BI
1.- Utilizaciòn de subrutinas en un batch input.
Para hacer màs simple la creaciòn de un Batch Input, vamos a utilizar la subrutina BDC_FIELD, la cual nos va a modularizar los programas.
* Form bdc_field
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.
Cambiando lo anterior, utilizando la subrutina BDC_FIELD:
* Ingreso a la primera pantalla y presiono el botòn de mantenimiento.
PERFORM bdc:field USING 'X' 'SAPMSVMA' '0100'.
PERFORM bdc_field USING ' ' 'VIEWNAME' 'ZTABLA_USUARIOS'.
PERFORM bdc_filed USING ' ' 'BDC_OKCODE' '=UPD'.
* Presiono botòn de nuevas entradas
PERFORM bdc_field USING 'X' 'SAPLZTABLA_USUARIOS' '0002'.
PERFORM bdc_field USING ' ' 'BDC_OKCODE' '=NEW'.
* cargo datos de usuario
PERFORM bdc_field USING 'X' 'SAPLZTABLA_USUARIOS' '0002'.
PERORM bdc_field USING ' ' 'ZTABLA_USUARIOS-DNI' st_usuarios-dni
PERORM bdc_field USING ' ' 'ZTABLA_USUARIOS-NOMBRE_APE' st_usuarios-nombre_ape.
PERORM bdc_field USING ' ' 'ZTABLA_USUARIOS-ESTADO_USU' st_usuarios-estado_usu.
PERORM bdc_field USING ' ' 'ZTABLA_USUARIOS-DIRECCION' st_usuarios-direccion.
PERORM bdc_field USING ' ' 'ZTABLA_USUARIOS-CODIGO_POSTAL' st_usuarios-codigo_postal.
PERORM bdc_field USING ' ' 'ZTABLA_USUARIOS-FECHA_NAC' st_usuarios-fecha_nac.
PERORM bdc_field USING ' ' 'ZTABLA_USUARIOS-ESTADO_CIVIL' st_usuarios-estado_civil.
* Grabo Los registros
PERORM bdc_field USING ' ' 'BDC_OPCODE' '=SAVE'.
* cierro la segunda pantalla.
PERFORM bdc_field USING 'X' 'SAPLZTABLA_USUARIOS' '0002'
PERFORM bdc_field USING ' ' 'BDC_OKCODE' '/ENDE'.
* Cierro la primera pantalla
PERFORM bdc_field USING 'X' 'SAPMSVMA' '0100'
PERFORM bdc_field USING ' ' 'BDC_OKCODE' '/EENDE'.
En el ejemplo anterior se puede ver lo importante que es la modularizaciòn en los programas Bacth Input.
2.- Còmo obtener los datos necesarios para la carga de la tabla BDCDATA?.
Vamos a explicar como 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.
Con la transacciòn SM30, recuperamos los datos correspondientes a la primera pantalla. Existen varias formas:
- Paràndonos sobre un campo de entrada de datos, presionamos F1 y luego click 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 veremos una ventana de diàlogo con el nombre del programa y el còdigo de funciòn correspondiente al botòn.
- En todas las pantalla 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.
3.- Grabaciòn de un Batch Input.
Otra forma màs eficiente de obtener los datos para la carga de la tabla BDCDATA, consiste en realizar una grabaciòn de los pasos que hacemos en la ejecuciòn de las transacciones, mediante la SM35.
"La transacciòn SM35, conocida como la grabadora, es utilizada para realizar la grabaciòn de las sesiones de Batch Input que nos serà de gràn utilidad a la hora de desarrollar nuestros programas".
Para realizar la grabaciòn, presionamos el botòn "Grabaciòn" Y veremos la siguiente ventana de diàlogo.
Asignamos un nombre a la grabaciòn
Escribimos el nombre de la transacciòn
El resto de las opciones, las dejamos como estàn y presionados el botòn "Iniciar grabaciòn"
Luego seguiremos la secuencia de pantallas hasta generar un registro en la tabla ZTABLA_USUARIOS, que finaliza presionando el botòn y saliendo de la transacciòn. Despuès de esto, veremos la siguiente pantalla con la grabaciòn.
"Cuando estamos haciendo una grabaciòn en la transacciòn SM35 y queremos ver el resultado de la misma, deberemos presionar el botòn grabar o el botòn exit de la pantalla"
La tabla con las columnas que visualizamos en la grabaciòn tiene la misma estructura que la tabla BDCDATA.
Luego si presionamos el botòn grabar, la grabaciòn quedarà almacenada en el sistema para consultarla mientras haceos el Batch Input. Tambièn es posible exportarla a un archivo o importar de un archivo una grabaciòn.
Por ùltimo, si volvemos hacia atràs, presionamos el botòn BACK de la pantalla, veremos la grabaciòn que acabamos de crear con cierta informaciòn de la misma.
Se puede ejecutar la grabaciòn cuantas veces se desee, presionando el botòn procesar y seleccionando la grabaciòn de la pantalla. Tambièn es posible modificar una grabaciòn creada para volver a ejecutarla.
 
 
 
Sobre el autor
Publicación académica de Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Angel Acosta Acosta
Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C
✒️Autor de: 238 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.
Certificación Académica de Miguel Acosta