Batch Input Power Point
Transcripción
Batch Input Power Point
BATCH INPUT Batch Input Introducción Formas de Batch Input (BI) Call Transaction, nos permite llamar a la transacción estándar e ir cargando cada dato en el correspondiente campo. Puede correrse on-line o como proceso de fondo (background). Sesión de Batch Input, es similar al anterior, con la diferencia es que la actualización de los datos no se da en el momento que ejecutamos el programa sino luego cuando corremos el juego de datos generado por el programa. También nos da un log de errores y otras opciones mas. BAPIS: Es una forma de BI orientada a objetos, aunque al estar encapsulado es solo una función, que si bien no llama a la transacción estándar posee todas las validaciones; se la puede acceder en forma remota (RFC) y nos independiza de los campos y las pantallas. Para buscar las BAPI’s pueden hacerlo desde la SE37 (*bapi*) o desde la transacción BAPI. LSMW: Se aplica en versiones 4.6C o superior. Agrupa todas las anteriores, no requiere de programación es una especie de wizard. Batch Input Call Transaction A través de este método, la ejecución de la transacción está controlada por un programa ABAP/4, el cual decide las pantallas que se llaman y que datos se le pasan a cada campo. Este método recupera en una tabla mensajes informados por el sistema ejecución de la transacción. interna los durante la El juego de datos se encuentra en una tabla interna de estructura BDCDATA. Batch Input Call Transaction Los mensajes devueltos con el resultado de la ejecución de la transacción se encuentran en en una tabla interna de estructura BDCMSGCOLL. Batch Input Call Transaction CALL TRANSACTION USING [ ( MODE UPDATE ( OPTIONS FROM MESSAGES INTO <Nombre de la transacción a llamar> <Tabla interna de estructura BDCDATA> <Modo de Ejecución> <Modo de Actualización> ) / <Work Area de estructura CTUPARAMS> ) <Tabla interna de estructura BDCMSGCOLL ] MODE (Modo de Ejecución): Si no se usa esta opción, por default toma el valor ‘A’. A: Se visualizan todas las pantallas. E: Solo se visualiza la pantalla si aparece un error. N: Invisible, no se visualizan las pantallas. UPDATE (Modo de Actualización): Si no se usa esta opción por default es ‘A’. A: Asincrónica S: Sincrónica L: Actualización Local Batch Input Call Transaction OPTIONS FROM: (Significado de los campos de la estructura CTU_PARAMAS) • DISMODE: Mismo significado y valores aceptados que la adición MODE. • UPDMODE: Mismo significado y valores aceptados que la adición UPDATE. • CATTMODE: (Controles de Pantalla CATT) ' ' CATT no activo. 'N' Sin control simple de Pantalla. 'A' Con control simple de Pantalla. • DEFSIZE: Usa la resolución de pantalla de windows. • RACOMMIT: La transacción no termina con un COMMIT WORK. • NOBINPT: Variable de sistema SY-BINPT = SPACE. • NOBIEND: Sin modo batch imput luego del final de BDC data. RECUPERACIÓN DE MENSAJES (tabla T001) CALL FUNCTION 'MESSAGE_TEXT_BUILD„ or 'MESSAGE_PREPARE„ EXPORTING msgid msgnr msgv1 msgv2 msgv3 msgv4 = t_mensajes-id = t_mensajes-number = t_mensajes-message_v1 = t_mensajes-message_v2 = t_mensajes-message_v3 = t_mensajes-message_v4 “tipo de mensaje “número de msj “msj1 “msj2 “msj3 “msj4 IMPORTING message_text_output = w_mensaje. “mensaje completo Batch Input Ejemplo EJEMPLO DATA: BDCDATA TYPE TABLE OF BDCDATA. ITAB TYPE TABLE OF BDCMSGCOLL. PROGRAM LIKE SY-REPID, WA_BDCDATA TYPE BDCDATA. WA_BDCDATA-PROGRAM = 'SAPMS38M'. WA_BDCDATA-DYNPRO = '0100'. WA_BDCDATA-DYNBEGIN = 'X'. APPEND WA_BDCDATA TO BDCDATA. CLEAR WA_BDCDATA. WA_BDCDATA-FNAM = 'RS38M-PROGRAMM'. WA_BDCDATA-FVAL = PROGRAM. APPEND WA_BDCDATA TO BDCDATA. … … CALL TRANSACTION 'SE38' USING BDCDATA MODE 'N' MESSAGES INTO ITAB. Batch Input Sesión de Batch Input • Este procesamiento consiste en la ejecución de una o múltiples transacciones del sistema. • Los datos a actualizarse o lote provienen de una base de datos de SAP, o bien de sistemas externos a través de archivos. • La técnica de Sesión Batch Input consiste en la ejecución de un número determinado de pasos que deben repetirse por cada registro del lote a través de una sesión. El procesamiento de la sesión es asincrónica. • La intervención manual está simulada y la actualización se realiza a través de transacciones en forma automática. • Como consecuencia, se reducen de forma significativa los costos en diseño, codificación y tests, al acotar a un único procedimiento, el tratamiento de los datos. • Por medio de la Sesión Batch Input, se pueden realizar controles y recuperación de errores, lo cual garantiza la integridad del sistema y permite la corrección y reprocesamiento de datos inconsistentes. Batch Input Sesión de Batch Input • Los pasos a ejecutar dentro de la transacción se graban en una tabla interna BDCDATA. • Se inicia la sesión a través del módulo de funciones BDC_OPEN_GROUP. Este módulo de funciones recibe como parámetros el mandante sobre el cual se ejecutará la sesión, el nombre de la sesión, el usuario, si se retiene o no la sesión luego de su ejecución (salvo por un usuario que cuenta con los permisos para hacerlo aún si está activo este flag) y si tiene una fecha desde, antes de la cual no se puede ejecutar la sesión, salvo por el administrador del sistema. • Se llama BDC_INSERT, el cual es otro módulo de funciones que recibe por parámetro la transacción a ejecutar. Esta transacción seguirá los pasos grabados en la tabla interna BDCDATA con el juego de datos. • Una vez finalizada BDC_CLOSE_GROUP. • Todos estos módulos de funciones cuentan con excepciones, que permiten recuperar el tipo de error que no permitió la correcta ejecución de los mismos, sin que cancele el proceso de fondo. la sesión se la cierra con Batch Input Sesión de Batch Input Comienzo de Programa CALL FUNCTION ‘BDC_OPEN_GROUP’ Mientras haya datos CALL FUNCTION 'BDC_OPEN_GROUP' Cargar Tabla BDCDATA * CALL FUNCTION ‘BDC_INSERT’ CALL FUNCTION ‘BDC_CLOSE_GROUP’ EXPORTING client = sy-mandt group = <btc_groupid> user = sy-uname holddate = sy-datum keep = 'X'. Batch Input Sesión de Batch Input Comienzo de Programa refresh t_bdcdata. perform carga_bdcdata using 'X' 'SAPLAIST' '0110'. CALL FUNCTION ‘BDC_OPEN_GROUP’ Mientras haya datos Cargar Tabla BDCDATA CALL FUNCTION ‘BDC_INSERT’ CALL FUNCTION ‘BDC_CLOSE_GROUP’ perform carga_bdcdata using space 'ANLA-ANLN1' t_archivo-anln1. perform carga_bdcdata using space 'ANLA-BUKRS' t_archivo-bukrs. perform carga_bdcdata using space 'BDC_OKCODE' '/0'. CALL FUNCTION 'BDC_INSERT' EXPORTING tcode = 'AS11' TABLES dynprotab = t_bdcdata. Batch Input Sesión de Batch Input Comienzo de Programa CALL FUNCTION ‘BDC_OPEN_GROUP’ Mientras haya datos CALL FUNCTION ‘BDC_INSERT’ CALL FUNCTION ‘BDC_CLOSE_GROUP’ CALL FUNCTION 'BDC_CLOSE_GROUP' Batch Input Sesión de Batch Input START-OF-SELECTION. * De tablas de sap, de un archivo o funcion ext. PERFORM carga_datos. * Inicio de sesión CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING client = sy-mandt “mandante group = <btc_groupid> “nombre sesión user = sy-uname “usuario holddate = sy-datum “fecha desde keep = 'X'. “retiene sesión aún ejecutada LOOP AT gt_datos. * Creamos los distintos juegos de datos. PERFORM carga_bdc. * Llamado a transacción CALL FUNCTION 'BDC_INSERT' EXPORTING tcode = ‘MM01' TABLES dynprotab = t_bdcdata. ENDLOOP. “transacción “juego de datos * Cierre de sesión CALL FUNCTION 'BDC_CLOSE_GROUP'. Batch Input Sesión de Batch Input La sesión de Batch Input creada, la podemos manejar desde la transacción SM35 Con el botón de Análisis (seleccionando una línea) podemos ver la cantidad de transacciones generadas (solapa “Transaccion”), ver el contenido de la tabla BDC_DATA (en la solapa dynpros) y el log de errores (log). Con el botón de Estadística podemos ver las estadísticas de la ejecución de un juego de datos. Con el botón de Log podemos ver el log de ejecución del juego de datos. Con el botón de Ejecutar podemos procesar el juego de datos luego de completar las opciones. Batch Input Sesión de Batch Input • De acuerdo con la versión de SAP en la SM35 tienen el botón de grabación que los lleva a la SHDB. • Con el botón podemos generar una grabación de una transacción y así poder obtener el nombre de los programas, campos y códigos de función. • Con el botón de visualizar podemos ver los nombres de los programas, campos, códigos de función y que dato se cargo en cada uno. • Con el botón de ejecutar reprocesar la grabación. podemos ¡¡MUCHAS GRACIAS!! [email protected] [email protected] (MSN) Tel: 155-841-2489 [email protected] Tel: 155-739-0162