![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Las subrutinas y la grabación de datos de un BI
ABAP Las subrutinas y la grabación de datos de un BI
![ABAP Las subrutinas y la grabación de datos de un BI ABAP Las subrutinas y la grabación de datos de un BI](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/228.jpg)
Ejemplo ………
FORM bdc_field USING dyn_begin type c
Campo1
Campo2.
CLEAR st_bdc_data.
IF dy_begin =’X’ .
st_bdc_data_program = campo1.
st_bdc_data-dynpro = campo2.
st_bdc_data-dynbegin = dy_begin.
ELSE.
st_bdc_data-fnam = campo1.
st_bdc_data-fval = campo2.
ENDIF.
APPEND st_bdc_data TO ti_bdc_data.
ENDFORM.
Si cambiamos el código de la leccion anterior , utilizando la subrutina BDC_FIELD quedaría de la siguiente manera:
· Ingreso a la primera 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’ .
· Ingreso a la primera pantalla y presiono botón de mantenimiento
PERFORM bdc_field USING ‘X’ ‘SAPMSVMA’ ‘0100’ .
PERFORM bdc_field USING ‘ ’ ‘VIEWNAME’ ‘ZTABLA-USUARIOS’ .
· Presiono Botón de Nuevas Entradas
PERFORM bdc_field USING ‘ X ’ ‘SAPLZTABLA_USUARIOS’ ‘0002’ .
PERFORM bdc_field USING ‘ ’ ‘BDC_OKCODE’ ‘=NEWL’ .
· Carga Datos del usuario
PERFORM bdc_field USING ‘X’ ‘SAPLZTABLA_USUARIOS’ ‘0002’ .
PERFORM bdc_field USING ‘ ’ ‘ZTABLA_USUARIOS-DNI’ st_usuarios-dni.
PERFORM bdc_field USING ‘ ’ ‘ZTABLA_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_CODIGO_POSTAL’ st_usuarios-codigo_postal.
PERFORM bdc_field USING ‘ ’ ‘ZTABLA_USUARIOS-F_NACIMIENTO’ st_usuarios-f_nacimiento.
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’ ‘0002’ .
PERFORM bdc_field USING ‘ ’ ‘BDC_OKCODE’ ‘=ENDE’ .
· Cierro la 1ra pantalla
PERFORM bdc_field USING ‘X’ ‘SAPMSVMA’ ‘0100’ .
PERFORM bdc_field USING ‘ ’ ‘BDC_OKCODE’ ‘/EENDE’ .
2. Como obtener los datos necesarios para la carga del BDCDATA.
Como se obtienen los datos que se cargaron en la tabla interna BDCDATA, tomando como ejemplo la cara de la lección anterior.
Se ingresa a la SM30, y se recupera los datos de la primera pantalla, hay varias formas de obtener la información. Ellos son:
* Parandonos en el campo de entrada de datos y presionamos F1 y luego en la otra pantalla presionamos la techa de Información Técnica, a continuación veremos una ventana de diálogo con información para la tabla BDCDATA como el nombre del programa, el nombre de la DYNPRO y el nombre del campo.
* Parandonos sobre el botón(ACTUAL.) de la pantalla presionamos F1, veremos otra ventana de dialogo con el nombre del programa y el código de función correspondiente al botón presionado. En este caso Programa ‘SAPMSVMA’ Funcion ‘UPD’
* En todas las pantallas de SAP, se puede 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 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(Graba Sesiones de datos para los Batchs Inputs).
Para hacer la grabación , presionamos el botón Grabación(recording) , luego el botón Grabación Nueva (new recording) aparecerá una ventana de diálogo donde se le asignará un Nombre a la grabación, el código de la transacción ej(SM30) y el resto quedan como están. Luego seguiremos la secuencia de pantallas hasta generar el registro en la tabla ZTABLA_USUARIOS, que finaliza apretando el botón de grabar y saliendo de la transacción.
Para ver el resultado de la grabación en la transacción SM35 , debemos presionar el botón de grabar o el botón de Exit.
AUDIO: Tengamos en cuenta algunas consideraciones al usar la transacción SM35: los eventos que se ejecutan al presionar F1 y F4 no se registran, tampoco los errores o warnings. En las pantallas los movimientos con la barra de desplazamiento, tampoco se registran en la grabación.
Podemos ejecutarla cuantas veces queramos, presionando el botón procesar y seleccionando la grabación de la pantalla.Tambien es posible modificar una grabación y volver a ejecutarla.
 
 
 
Sobre el autor
Publicación académica de Carlos Alberto Carreira, en su ámbito de estudios para la Carrera Consultor ABAP.
Carlos Alberto Carreira
Profesión: Consultor Técnico en Jde W.s. - Argentina - Legajo: KC15G
✒️Autor de: 92 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
🎓Egresado de los módulos:
Certificación Académica de Carlos Carreira