🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP El Batch Input utilizando el Juego de datos

ABAP El Batch Input utilizando el Juego de datos

ABAP El Batch Input utilizando el Juego de datos

UNIDAD 7: BATCH INPUT VS BAPIS Y TEMAS AVANZADOS

LECCION 6: BATCH INPUT UTILIZANDO JUEGO DE DATOS

1| Mi primer BI utilizando juego de datos

- Vamos a crear un archivo de texto con registros que cumplan con la estructura de la tabla ZTABLA_USUARIOS, sin el campo mandante.

21567432Joaquin Pérez ALarreo Álvarez 3454 134512081967S

31987623Barbara Pereira ALavalleja 543 145623091987S

27982134Eugenia Herrera AGuido 56 167507041979S

Borraremos su contenido antes de la ejecución.

Paso 1.- Declaración de los datos propios de BI

Declarar una TI y estructura ambas del tipo BDCDATA, y otra donde levantaremos los registros del archivo de entrada.

*----------------------------------------------------------------------*

* Declaración de datos

*----------------------------------------------------------------------*

* Tabla del BI con la estructura de BDCDATA

DATA: BEGIN OF ti_bdc_data OCCURS 0.

INCLUDE STRUCTURE bdcdata.

DATA: END OF ti_bdc_data.

* Estructura del BI

DATA: st_bdc_data TYPE bdcdata.

* Tabla de usuarios

DATA: BEGIN OF ti_archivo OCCURS 0,

dni(8) TYPE c, "Dni

nombre_ape(35) TYPE c, "Nombre y Apellido

estado_usu(1) TYPE c, "Estado del usuario

dirección(30) TYPE c, "Dirección

código_postal(4) TYPE c, "Código Postal

f_nacimiento(8) TYPE c, "Fecha Nacimiento

estado_civil(1) TYPE c, "Estado civil

END OF ti_archivo.

DATA: st_archivo LIKE LINE OF ti_archivo.

* Variables

DATA: v_campo(35) TYPE c,

v_indice(2) TYPE c,

v_qid TYPE apq_quid,

v_group TYPE apq_grpn.

Paso 2.- Lectura de datos del archivo de entrada

Ejecutamos el método CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD, para levantar el archivo de entrada

* Se abre el archivo de entrada para lectura

CALL METHOD cl_gui_frontend_services=>gui_upload

EXPORTING

filename = vl_file

filetype = 'ASC'

has_field_separator = ''

CHANGING

data_tab = ti_archivo[]

EXCEPTIONS

file_open_error = 1

file_read_error = 2

no_batch = 3

gui_refuse_filetransfer = 4

invalid_type = 5

no_authority = 6

unknown_error = 7

bad_data_format = 8

header_not_allowed = 9

separator_not_allowed = 10

header_too_long = 11

unknown_dp_error = 12

access_denied = 13

dp_out_of_memory = 14

disk_full = 15

dp_timeout = 16

not_supported_by_gui = 17

error_no_gui = 18

OTHERS = 19.

Paso 3.- Apertura de la sesión del juego de datos.

Vamos a utilizar la función BDC_OPEN_GROUP, especificando el mandante, el grupo y el usuario; tal como se muestra.

v_group = sy-repid.

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.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

Paso 4.- Carga de la tabla BDCDATA

Utilizaremos la subrutina BDC_FIELD, antes inicializar la TI del BI

Paso 5.- Inserción del juego de datos

Utilizar la función BDC_INSERT, tal como vemos a continuación.

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.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

Paso 6.- Cierre de la sesión del juego de datos

Utilizar la función BDC_CLOSE_GROUP, tal como vemos a continuación.

CALL FUNCTION 'BDC_CLOSE_GROUP'

EXCEPTIONS

not_open = 1

queue_error = 2

OTHERS = 3.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

Paso 7.- Ejecución del juego de datos

Entramos a la TX SM35. Seleccionamos el juego de datos y presionamos EJECUTAR.

====> En la ventana de dialogo marcamos INVISIBLE y EJECUTAR.

Finalmente la sesión cambiara de estatus dependiendo del resultado de la ejecución. y los datos se actualizaran en la tabla ZTABLA_USUARIOS.

2| Utilización del programa RSBDCBTC para la ejecución. del juego de datos

- Para ejecutar en forma online, vamos a tener que crear un job, 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.

Luego en la SM35 vemos que el juego de datos se proceso sin la necesidad de hacerlo manualmente.

Nota.- La diferencia entre CALL TRANSACTION es que es sincrono, se graban datos solo a una Transacción y no genera log y juego de datos es asíncrono, graba múltiples transacciones y genera log por cada sesión.


 

 

 


Sobre el autor

Publicación académica de Hernan Cabezas, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El Batch Input utilizando el Juego de datos" de la mano de nuestros alumnos.

SAP Senior

Creacion de Batch input utilizando Juego de datos: -- Declaracion de los datos propios del Batch input -- Lectura de datos de archivo de entrada -- Apertura de la sesion de juego de datos -- Carga de la tabla BDCDATA -- Insercion del juego de datos -- Cierre de la sesion del juego de datos -- ejecucion del juego de datos

Acceder a esta publicación

Creado y Compartido por: Cristian Merlo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Batch input utilizando juego de datos. Juego de datos: Técnica de BI donde la ejecución se realiza en forma Batch y queda almacenada en SAP para su posterior ejecución mediante la transacción SM37. Se utilizan funciones estándar SAP para la apertura, inserción y cierre del juego de datos. 1.- Declaración de los datos propios del Batch Input. 2.- Lectura de datos de archivos de entrada. 3.- Apertura de la sesión del juego de datos. 4.- Carga de la tablas BCDATA. 5.-Inserción del juego de datos. 6.- Cierre de la sesión del juego de datos. 7.- Ejecución del juego de datos. BDC_INSERT: Función estándar de SAP que se utiliza para realizar la inserción...

Acceder a esta publicación

Creado y Compartido por: Rafael Razo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

BATCH INPUT UTILIZANDO JUEGO DE DATOS Declaracion de los datos propios del batch input declaramos una tabla interna y una estructura,ambas del tipo BDCDATA y otra tala interna de ususarios que contendra los registros que levantemos del archivo de entrada. lectura de datos de archivo de entrada ejecutamos el metodo CL GUI FRONTEND SERVICES=> GUI UPLOAD para levantar el archivo de entrada con la informacion para generar el batch input. Apertura de la sesion del juego de datos para realizar la apertura de la sesion del juego de datos, vamos a utilizar la funcion BDC OPEN GROUP, especificando el mandante,el grupo y el ussario. Carga de la tabla BDCDATA para cargar la tabla BDCDATA utilizaremos la subrutina BDC _FIELD, antes...

Acceder a esta publicación

Creado y Compartido por: Luis Car

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

1.- Batch Input utilizando juegos de datos: Paso 1 Declaración de los datos propios del batch input. Paso 2 Lectura de datos del archivo de entrada, ejecutamos el metodo CL_GUI_FRONTED_SERVICES=>GUI_UPLOAD. Paso 3 Apertura de la sesión del juego de datos utilizando la función BDC_OPEN_GROUP, especificando el mandante, el grupo y el usuario. Paso 4 Carga de la tabla BDCDATA, utilizaremos la subrutina BDC_FIELD. Paso 5 Inserción del juego de datos vamos a utilizar la función BDC_INSERT. Paso 6 Cierre de la sesión del juego de datos, utilizamos la función BDC_CLOSE_GROUP. Paso 7 Ejecusión del juego de datos, entramos a la transacción SM35 seleccionamos el juego de datos y lo ejecutamos....

Acceder a esta publicación

Creado y Compartido por: Maria Ysabel Colina De Magdaleno

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Mi primer Batch Input utilizando Juego de Datos

Acceder a esta publicación

Creado y Compartido por: Luis Manuel Olivier Melo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

MI PRIMER BATCH INPUT UTILIZANDO JUEGO DE DATOS. Paso1. Declaracion de los datos propios del Batch Input Declaramos una tabla interna y una estructura , ambas del tipo BDCDATA y otra interna de usuariosnque contendra los registros que levantamos del archivo de entrada. Paso2. Lectura de datos de archivo de entrada Ejecutamos el metodo CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD para levantar el archivo de entrada con la informacion para generar el batch input. Paso3. Apertura de la sesion del Juego de Datos. Para realizar la apertura de la sesion del Juego de Datos, vamos a utilizar la funcion BDC_OPEN_GROUP,especificando el mandante , el grupo y el usuario. Paso4. Carga de la tabla BDCDATA. Para cargar la tabla BDCDATA utilizaremos la subrutina...

Acceder a esta publicación

Creado y Compartido por: Marco Antonio Vazquez Gonzalez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Batch input utilizando juego de datos Paso 1ero. Declaracion datos propios del batch input. Se declara una tabla interna y una estructura ambas de tipo BDCDATA y otra interna de usuarios que contendrá los archivos. Paso 2do. Lectura de datos de archivo de entrada. Se ejecuta el métoso CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD para levantar el archivo de entrada con la información para generar el batch input. Paso 3ro. Apertura de la sesión de juego de datos. Se utiliza la función BDC_OPEN_GROUO , especificando el mandante, el grupo y el usuario. Paso 4to. Carga de la tabla BDCDATA. Se utilza la subrutina BDC_FIELD, antes se debe iniciar la tabla interna. Paso 5to. Inserción del juego de datos. Se utiliza...

Acceder a esta publicación

Creado y Compartido por: Fabio Gallo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

JUEGO DE DATOS Tecnica de Batch Input donde la ejecucion se realiza en forma Batch y queda almacenada en SAP para su posterior ejecucion mediante la transaccion SM37. Se utilizan funciones estandar SAP para la aperttura, insercion y cierre del juego de datos CARGA INICIAL DE DATOS Proceso que consiste en el ingreso de los datos necesarios para el funcionamiento de una aplicacion en un ambiente del sistema. BDC_CLOSE_GROUP Funcion estandar de que se utiliza para realizar el cierre de un Juego de datos. RSBDCBTC Programa estandar que permite la ejecucin online de un programa Batch Input que se ejecuta mediante la tecnica del juego de datos. BDCDATA Estructura estandar que se utiliza para la carga de datos en un Batch Input BDC_OPEN_GROUP Funcion...

Acceder a esta publicación

Creado y Compartido por: David Camacho Espinoza

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

utilizando juego de datos: es una técnica en donde el objetivo del batch input sera la carga inicial de datos de una tabla interna, para ello creamos un archivo de texto con los datos a cargar los cuales deben cumplir con la estructura de nuestra tabla interna sin tener en cuenta el mandante de la tabla. Como para todo batch input, se deben de seguir los pasos planteados. 1. La declaracion de los datos propios del batch input. 2. Lectura del archivo de texto del que vamos a subir a nuestra tabla interna la informacion. 3. Apertura de la sesion del juego de datos: aqui en donde se especifica para usar la sesion de un juego de datos la funcion BDC_OPEN_GROUP la cual es una funcion estandar utilizada para abrir sesiones de batch input....

Acceder a esta publicación

Creado y Compartido por: Rainer Diaz

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Lección: Batch Input utilizando Juego de Datos 1. Mi primer Batch Input utilizando Juego de Datos El objetivo será la carga inicial de datos de la tabla ZTABLA_USUARIOS. Para ello, vamos a crear un archivo de texto con registros que cumplan con la estructura de la tabla ZTABLA_USUARIOS, sin tener en cuenta el campo mandante. Como lo que vamos a hacer será la carga inicial de la tabla de usuarios, borraremos su contenido previamente a la ejecución de este ejemplo. Ahora seguiremos los pasos que establecimos en la primer lección de la unidad. Declaración de los datos propios del Batch Input Lectura de datos de archivo de entrada Apertura de la sesión del juego de Datos Carga de...

Acceder a esta publicación

Creado y Compartido por: Pedro Alejandro Arroyo Gutierrez

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!