![](/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/10.jpg)
Lección 3. 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 una Batch Input, vamos a utilizar el subrutina BDC_FIELD, que nos va a permitir modularidar 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.
El código usado en la lección anterior, quedaría de la siguiente forma :
PERFORM bdc_field USING 'X' 'SAPMSVMA' '0100'. PERFORM bdc_field USING ' ' 'VIEWNAME' 'ZTABLA_USUARIOS'. PERFORM bdc_field USING ' ' 'BDC_OKCODE' '=UPD'. PERFORM bdc_field USING ' ' 'BDC_OKCODE' '=NEWL'. * Grabo los Registros PERFORM bdc_field USING ' ' 'BDC_OKCODE' '=SAVE'. PERFORM bdc_field USING ' ' 'BDC_OKCODE' '=ENDE'. PERFORM bdc_field USING ' ' 'BDC_OKCODE' '/EENDE'.
2.- Como obtener los datos necesarios para la carga de la tabla BDCDATA?
Explicación de cómo obtener los valores que cargamos en la tabla interna BDCDATA. Tomamos el ejemplo de la lección anterior.
Entramos en la transacción SM30 y recuperamos los datos correspondientes a la primera pantalla. Existen varias formas de obtener información de una pantalla.
· Parándonos sobre un campo de entrada de datos y presionamos F1 y luego hacemos clic en el botón de información técnica. Y veremos una ventana de dialogo con información relevante para el armado de la tabla BDCDATA, nombre de programa, nombre de la dynpro, y el nombre del campo.
· Parándonos sobre el botón de la pantalla presionamos F1. Y veremos una ventana de dialogo 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 el nombre de 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 el ejecución de las transacciones mediante la transacción SM35.
NOTA: La transacción SM35, conocida como la grabadora, es utilizada para realizar la grabación de las sesiones de Batch Input que nos serán de gran utilidad a la hora de desarrollar nuestros programas.
Para realizar la grabación, presionamos el botón Grabación (Recording)
Luego el botón Grabación nueva (New Recording)
En la pantalla que sale:
· Grabación: Asignamos un nombre a la grabación.
· Código de transacción (Transaction code): Ingresamos el nombre de la transacción.
Presionamos el botón Iniciar Grabación (Start Recording)
Luego seguiremos la secuencia de pantallas hasta generar un registro en la tabla ZTABLA_USUARIOS, que finaliza pulsando el botón grabar y saliendo de la transacción. Despues de esto veremos la pantalla con la grabación efectuada.
 
 
 
Sobre el autor
Publicación académica de Juan Hernández, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Hernández
Profesión: Programador Informático - España - Legajo: XQ15K
✒️Autor de: 125 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: PartTime