✒️ABAP El Batch Input utilizando el Juego de datos
ABAP El Batch Input utilizando el Juego de datos
BATCH INPUT Utilizando Juego de Datos.
Los pasos son:
1- Se declara una tabla interna y una estructura del tipo BDCDATA y Se declara la tabla interna y una estructura de la tabla de usuarios.
2- Se lee el archivo de entrada con el método CL_GUI_FRONTEND_SERVICES => GUI_UPLOAD
3- Apertura de la sesión de juego de datos, con la función BDC_OPEN_GROUP, especificando mandante, grupo e usuario.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
group = v_group
keep = 'X'
user = sy-uname
IMPORTING
qid = v_qid
EXCEPTIONS
client_invalid = 1
destination_invalid = 2
group_invalid = 3
group_is_locked = 4
holddate_invalid = 5
internal_error = 6
queue_error = 7
running = 8
system_lock_error = 9
user_invalid = 10
OTHERS = 11.
4- Carga de la tabla BDCDATA, para esto se utilizará la subrutina BDC_FIELD pero antes se debe inicializar la tabla interna del BI.
5- Se inserta el juego de datos con la función BDC_INSERT
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = 'SM30'
TABLES
dynprotab = ti_bdc_data
EXCEPTIONS
internal_error = 1
not_open = 2
queue_error = 3
tcode_invalid = 4
printing_invalid = 5
posting_invalid = 6
OTHERS = 7.
6- Cierre de la sesión del juego de datos con la función BDC_CLOSE_GROUP:
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
not_open = 1
queue_error = 2
OTHERS = 3.
7- Ejecución del juego de datos, para ejecutarla se hace en la transacción SM35, en donde se le coloca la opción de invisible y se le da ejecutar.
Las principales diferencias entre Call Transaction y juego de datos son:
- Call transaction es procesamiento síncrono (on line) y en juego de datos es Asíncrono ( fondo)
- Call transaction transfiere datos solo a 1 transacción cada Call, en cambio con juego de datos puede transferir datos a múltiples transacciones.
- Call transaction no deja LOG y juego de datos si deja LOG por cada sesión.
2) Utilización del programa RSBDCBTC para ejecución del juego de datos.
Este programa se utiliza para ejecitar en forma on line un BI de juego de datos, para este se necesita:
1- Crear un job
2- Submitir la ejecución del programa RSBDCBTC y cerrar el job;
SUBMIT rsbdcbtc USER sy-uname VIA JOB v_jobgroup NUMBER v_jobcount WITH queue_id = v_qid WITH mappe = v_jobgroup WITH modus = 'N' "No display WITH logall = '' AND RETURN. 
 
 
Sobre el autor
Publicación académica de Manuel Antonio Moncada Vera, en su ámbito de estudios para la Carrera Consultor ABAP.
Manuel Antonio Moncada Vera
Profesión: Ingeniero en Informatica - Colombia - Legajo: JT58S
✒️Autor de: 68 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Manuel Moncada