You are on page 1of 36

CODIGO1_TOP Y CODIGO1_SUB

CODIGO2_TOP Y CODIGO2_SUB

BACHT INPUTS (SM35)


Es un mtodo seguro y fiable para transferir datos hacia un sistema SAP. Se
utiliza cuando deben realizarse un elevado nmero de modificaciones, add o
borrados, migraciones.
Suele ser un fichero secuencial en el que se encuentran los datos a cargar.
Simulacin repetida de un proceso online(transaccin) mediante ste proceso.

PROCESO DE CARGA:
-

Fase de generacin: a partir de una fuente de informacin se


transformarn en un formato determinado, para almacenarlo en una
estructura SAP llamada fichero de colas.
Fase de proceso: a partir de la informacin grabada en el fichero de
colas, se cargarn los datos fsicamente en la base de datos.

SISTEMA EXTERNO
Es llamado, al fichero secuencial en el que se encuentran los datos a cargar,
puede ser tambin tablas fsicas de SAP o de otras BD.

CONSEJOS:
Para conocer el cdigo de la transaccin, el nombre de las pantallas: Sistema >
Status
Para conocer el nombre de un campo: F1 + F9 (Datos tcnicos)
Antes de procesar una sesin de Batch Input se puede comprobar si los datos
de entrada y la secuencia de pantallas que se han programado es la esperada:
SM35 + Pasar a > Anlisis > Juego de datos
Si se est ejecutando una transaccin en modo Invisible, se puede ir viendo el
log de las transacciones que se van ejecutando.
Para tener una idea de la hora en la que finalizar un proceso de Batch Input,
se puede mirar el tiempo de proceso de una transaccin y extrapolarlo.

Antes de realizar un programa de Batch Input es aconsejable asegurarse de


que SAP no dispanga ya del mismo. Existen BI de carga de:
Clientes, proveedores, documentos contables, pedidos pendientes,
condiciones, stocks...
Los valores introducidos en el BI para cada campo deben estar dentro de los
valores permitidos (tablas de verificacin, match-codes). Sino, la transaccin
resultar errnea.
Entre la fase de generacin y la de procesado, existe un tiempo indeterminado,
durante el cual puede variar el estado en el que se llevo a cabo la generacin,
y puede dar lugar a errores en el procesado del Batch Input
Se pueden procesar los BI automticamente ejecutando el report RSBDCSUB.
Es posible ejecutar la sesin de BI inmediatamente despus de ser generada
llamando al report desde el mismo programa que genera la sesin
Entre la fase de generacin y la de procesado, existe un tiempo indeterminado,
durante el cual puede variar el estado en el que se llevo a cabo la generacin,
y puede dar lugar a errores en el procesado del Batch Input
Se pueden procesar los BI automticamente ejecutando el report RSBDCSUB.
Es posible ejecutar la sesin de BI inmediatamente despus de ser generada
llamando al report desde el mismo programa que genera la sesin

CODIFICACIN DE UN BI
La Tabla interna de estructura estndar para introducir los datos es: BDCDATA.
(BDC significa
BATCH DATA COMMUNICATION).
DATA: BEGIN OF <tab_B_I> OCCURS <n>.
INCLUDE STRUCTURE BDCDATA.
END OF <tab_B_I>.
Campos de la estructura BDCDATA:
-

PROGRAM: Nombre del programa donde se realiza el tratamiento de


cada Dynpro.
DYNPRO: Nmero de pantalla en la que se quiere introducir los datos.
DYNBEGIN: Indicador para nueva pantalla.
FNAM: Campo de la pantalla. (MAX 35 CARACTERES)
FVAL:Valor del campo de la pantalla. (MAX 80 CARACTERES)

S-TEXT: Tabla que contiene todos los posibles errores, para mostrarlos en
mensajes.

GENERACIN BATCH INPUT:


1- El BI, lee el fichero secuencial y transforma los datos a un formato
determinado para almacenarlos en una entrada del fichero de colas.
2- El BI, genera una sesin que puede contener una o mltiples
transacciones.
3- El programa debe tener en cuenta la secuencia de las acciones y
pantallas (dynpros) en el mismo orden de la transaccin ejecutada
manualmente.
Las sesiones poseen el ste formato:

1. APENAS ENTRAMOS ENCONTRAMOS ALGUNOS ERRORES.

2. CREAR UNA SIMULACIN DE ACUERDO A LA TABLA SM30

3. COLOCO EL NOMBRE DE LA GRABACIN

4. COLOCO EL CODIGO DE LA TRANSACCIN (LA QUE UTILIZAMOS PARA


TABLA)

5. Hay que validar que los datos no existan ya en la grabacin. LE DOY


NUEVAS ENTRADAS:

6. GUARDAMOS Y NOS DEVOLVEMOS AL NIVEL ANTERIOR.

7. Y ESTE ES EL RESULTADO DE LA GRABACIN:

8. DAMOS ATRS Y ENCONTRAMOS EL LISTADO DE GRABACIONES


CREADAS.

9. VOY A CREAR UN PROGRAMA PARA GENERAR EL BATCH INPUT. EJEMPO:

ZMM_CARGA_BATCH_INPUT_KOLE

PROCESO CARGA DE DATOS


BATCH INPUT
1. PROGRAMACION PARA LLAMAR EL ARCHIVO

2. CREAR EL ARCHIVO EN EXCEL

GUARDAR COMO .TXT CON EL TIPO TEXT(TAB DELIMITED)

3. LLAMO LA FUNCIN PARA LEER EL ARCHIVO

4. EJECUTO

5. AGREGO LA URL EN DONDE GUARD EL ARCHIVO .TXT

EN EL DEBUG VAMOS HACIENDO F5 PARA VERIFICAR LOS DATOS QUE VAMOS


GUARDANDO DENTRO DE TI_MATERIAS.

CARGA DE DATOS CON UN


BATCH INPUT (BI)
CDIGO CREADO PARA EL BATCH INPUT, DEBE GENERAR LA MISMA
GRABACIN

Nota: ste cdigo, hay que irlo revisando para crear los perform correctamente
y quede totalmente igual a la grabacin.

RESUMEN DE PASOS:
1. Borrar datos q tenia en mantenimiento (SM30-Mantenimiento)
2. Cargo el archivo ,txt previamente creado en Excel (guardado como

3. Ejecutar el batch,,,, (performs)


4. Verificar que la tabla interna creada para el batch: TI_BDCDATA vaya
guardando la informacin tal como lo tengo en la grabacin
ZMM_BRABKKOL2.
5. Llamo la transaccin original con paso a paso, desde CALL AL
TRANSACTION.

MANEJO DE ERRORES DEL BATCH


INPUT: SE91.
-

Introduzco el cdigo del mensaje (SV).


Introduzco el nmero del mensaje (009).
Observo el mensaje del error.

Estructura de datos para el mensaje:

SY-MSGID: identificador de mensaje

SY-MSGTY: tipo (A, E, I, W...)

SY-MSGNO: n de mensaje

SY-MSGV1...SY-MSGV4: variables del mensaje

Visualizacin del mensaje


MESSAGE ID SY-MSGTY
TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4

Manejo de errores con ALV

Y uso una subrutina show_alv (anteriormente ya la habamos usado y cambio el


ttulo y la tabla interna)

EXTRAS:
A RELOG PARA LA ESPERA EN EL CODIGO GENERADOR DEL BATCH.

RUTINA SHOW PROGRESS:

QUEDA AS:

RELOJ PROGRESIVO:
1. DECLARO NUEVAS VARIABLES:

2. INCLUIR LA PROGRAMACIN:

3. AGREGO LOS CAMBIOS A LA FUNCION A LLAMAR

4. MODIFICO LA RUTINA:

5. LISTO OBSERVO EL RELOG PROGRESIVAMENTE.

Ver el proceso desde por debajo.

MODIFICAR DATOS CON UN


BATCH INPUT (BI)
(EL ANTERIOR FUE DE CREAR DATOS EN MATERIAS)
1. CREO UNA NUEVA GRABACIN.SM35 RECORDING, NEW RECORDING,
CON LOS SIGUIENTES DATOS:

2. CAMBIO LOS DATOS DE MI USUARIO FRANCYC Y QUEDO CON LA


SIGUIENTE GRABACIN:

3. AHORA REALIZO EL BATCH INPUT DE ESTE CAMBIO, EN MI PROGRAMA.

4. GUARDO, ACTIVO Y EJECUTO EL PROGRAMA


ZMM_CARGA_BATCH_INPUT_KOLE E INDICO LOS VALORES.

5. VOY VERIFICANDO RESULTADOS DE TI_BDCDATA

6. TERMINAR DE EJECUTAR.

7. Ahora entro a SU01 Y BUSCO SI ME REALIZ EL CAMBIO:

LISTO VERIFICADO.

You might also like