✒️ABAP Las subrutinas y la grabación de datos de un BI
ABAP Las subrutinas y la grabación de datos de un BI
UNIDAD 7: BATCH INPUT VS BAPIS Y TEMAS AVANZADOS
LECCION 3: SUBRUTINAS Y GRABACION DE DATOS DE UN BI
1| Utilización de subrutinas en un Batch Input
Para modularizar los programas vamos a utilizar la subrutina BDC_FIELD:
*&---------------------------------------------------------------------*
*& 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. " bdc_field
En nuestro ejemplo quedaría de esta manera, vemos lo importante que resulta al modularizar el programa:
* Ingreso a la Primer pantalla y presiono botón de mantenimiento
PERFORM bdc_field USING 'X' 'SAPMSVMA' '0100'.
PERFORM bdc_field USING ' ' 'VIEWNAME' 'ZTABLA_USUARIOS'.
PERFORM bdc_field USING ' ' 'BDC_OKCODE' '=UPD'.
* Presiono botón 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 primera pantalla
PERFORM bdc_field USING 'X' 'SAPMSVMA' '0100'.
PERFORM bdc_field USING ' ' 'BDC_OKCODE' '/EENDE'.
2| Como obterner los datos necesarios para la carga de la tabla BDCDATA?
Existen varias formas de obtener información de una pantalla:
1) Parándonos sobre un campo de entrada y damos F1.
Luego clickeamos el botón de información técnica, los datos relevantes son:
° Datos de la dynpro.- Nombre del programa y n° Imagen
° Denominación campo para BI.- Campo dynpro
2) Si nos paramos sobre un botón y presionamos F1.
En este caso en datos técnicos veremos:
° Datos función.- Programa y función.
3) Adicionalmente podemos visualizar en el extremo inferior derecho de la pantalla el nombre de programa, la TX, etc.
3| Grabación de un Batch Input
Otra forma mas eficiente de obtener los datos para la carga de la tabla BDCDATA, consiste en realizar una grabación de cada una de las acciones que hacemos en la ejecución de TX con la SM35.
Para realizar la grabación CON LA SM35, presionamos el botón RECORDING y luego GRABACION NUEVA. Le indicamos un nombre a la grabación, el nombre de la TX y presionamos iniciar grabación.
Siguiendo nuestro ejemplo nos quedaría un código así:( podemos grabar o exit para ver resultado)
Programa Dynpro ind. Nombre campo Valor de campo
SAPMSVMA 0100 X
BDC_CURSOR VIEWNAME
BDC_OKCODE '=UPD
VIEWNAME ZTABLA_USUARIOS
VIMDYNFLDS-LTD_DTA_NO X
SAPLZTABLA_USUARIOS 0001 X
BDC_CURSOR VIM_POSITION_INFO
BDC_OKCODE '=NEWL
SAPLZTABLA_USUARIOS 0001 X
BDC_CURSOR ZTABLA_USUARIOS-ESTADO_CIVIL(01)
BDC_OKCODE '=SAVE
ZTABLA_USUARIOS-DNI(01) 25376384
ZTABLA_USUARIOS-NOMBRE_APE(01) Diego Jorge Carrizo
ZTABLA_USUARIOS-ESTADO_USU(01) A
ZTABLA_USUARIOS-DIRECCION(01) Gascon 450
ZTABLA_USUARIOS-CODIGO_POSTAL(01) 1544
ZTABLA_USUARIOS-F_NACIMIENTO(01) 16.03.1978
ZTABLA_USUARIOS-ESTADO_CIVIL(01) S
SAPLZTABLA_USUARIOS 0001 X
BDC_CURSOR ZTABLA_USUARIOS-DNI(02)
BDC_OKCODE '=ENDE
SAPMSVMA 0001 X
BDC_CURSOR /ENDE
BDC_OKCODE VIEWNAME
Si presionamos BACK vemos que la grabación contiene información de la misma estructura que la tabla BDCDATA.
 
 
 
Sobre el autor
Publicación académica de Hernan Cabezas, en su ámbito de estudios para la Carrera Consultor ABAP.
Hernan Cabezas
Peru - Legajo: ZM88T
✒️Autor de: 117 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Hernan Cabezas