Escolar Documentos
Profissional Documentos
Cultura Documentos
prn)
La funcin que tiene el batch input (Ingreso de datos), es como su nombre lo indica, el ingreso de datos a las tablas Z, o standard de SAP. Como se sabe a las tablas standares de SAP, no se le puede hacer un append directamente, ya que algunos datos que se agreguen en una tabla, podrian ser necesitados en otra. Para realizar el ingreso de datos, se utilizan transacciones (por ejemplo SOAD), las cuales se encargan de realizar las modificaciones a las tablas. Para poder realizar un ingreso de datos de forma automtica, existen funciones, y transacciones que nos facilitan los cdigos (SE35). Existen dos formas de realizar un BI: Online (en el momento) y Offline (en otro momento). Paso a paso para realizar el ingreso de datos. 1. Conocer la transaccion en la que se va a hacer el ingreso de datos. a) Pedir instrucciones de como utilizarla si no se conoce. b) Completar los datos necesarios. 2. Crear un nuevo recording. El recording es una simulacion de la utilizacion de la transaccion deseada, que al final muestra en una tabla los code de todos los botones presionados y/o campos completados en la transaccion. a) Ir a la transaccion SM35 b) Una vez ahi, crear el recording presionando el botn recording c) Presionar el botn d) Nos aparecer esta pantalla:
Presionar aceptar Nos aparecer la pantalla de la transaccion elegida. Seguimos los pasos de la transaccion, y al finalizar nos aparecer la tabla con los codes correspondientes.
Para ello vamos a la transaccion SE38 y creamos un reporte ZbatchInput. Antes necesitamos saber si el BI va a ser OnliNe o Offline. La nica diferencia (en modo programacin) que tienen estos modos son las funciones que se colocan al principio y al final del reporte. Primero se declara la tabla donde se almacenaran los datos del programa tales como nombre etc.
*Estructura con los datos del programa. DATA: BEGIN OF BDC_TAB OCCURS 5. INCLUDE STRUCTURE BDCDATA. DATA: END OF BDC_TAB.
Se declara la tabla interna con los datos a ingresar en el BI. Esta tabla debe tener una estructura igual a los campos a ingresar en el BI.
*Tabla con los datos a pasar por el BI. DATA: BEGIN OF TABLA OCCURS 5, Nombre(20), " CLiente Fecha(10). DATA:END OF TABLA.
Como nuestro ejemplo va a ser online, no se coloca ninguna instruccion al comienzo. Tendremos que llenar nuestra tabla con datos. Una vez terminado con esto se llama al perform que es el encargado de hacer el Batch Input. PERFORM generate_bdc.
*Genera la estructura con los datos del programa PERFORM generate_bdc.
Implementacin de performs En este perform lo que hacemos es copiar lo que obtuvimos en el recording.
*&---------------------------------------------------------------------* *& Form GENERATE_BDC *&---------------------------------------------------------------------* Form GENERATE_BDC. Loop at TABLA. REFRESH BDC_TAB. PERFORM FILL_BDC_TAB USING: 'X' 'SAPMZEJEMPLO' '0100',OBTENIDO EN EL RECORDiNG ' ' 'BDC_OKCODE' '=ALCL', 'X' 'SAPMZEJEMPLO' '0200', ' ' 'BDC_OKCODE' '=APPEND', ' ' 'ZCLIENTES-KUNNR' '1111111', "TABLA-KUNNR, ' ' 'ZCLIENTES-RAZON' 'fdadasd', "TABLA-RAZON, ' ' 'ZCLIENTES-OBSERVACIONES' 'sdASAsA'. "TABLA-OBS. *Online CALL TRANSACTION 'ZEJEMPLO' USING bdc_tab. ENDLOOP. ENDFORM.
Una vez activado el reporte, lo ejecutamos, y aparecer la siguiente pantalla, a la que solo debemos hacer click en aceptar.
OK-Code
Aceptar
Repetimos ese paso en todas las pantallas que se nos presenten hasta finalizar el BI. Como dijimos antes se puede hacer un BI Offline, con solo ingresar unas funciones ms. Despues de declarar todas las tablas, y antes de generar la estructura se ingresa este llamado a funcin:
*Para BI Offline CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING client = sy-mandt "Mandante group = 'Alta nombres' "Nombre a aparecer en la lista user = sy-uname "Nombre de usuario keep = 'X'.
*Offline CALL FUNCTION 'BDC_INSERT' EXPORTING TCODE = 'ZEJEMPLO' TABLES DYNPROTAB = BDC_TAB.
Al activar y ejecutar este reporte, no aparecer niguna pantalla, ya que la sesion de BI se almacen en una especie de cola, en la transaccion SM35.
Para ejecutarla solo hay que seleccionarla, y presionar el botn Process. Aparecer esta pantalla, en la que tendremos que presionar nuevamente el botn process.
y se guimos los mismos pasos de antes. Presionamos aceptar hasta que se complete el ingreso de datos. Una vez finalizado, y si no hay ningn error aparecer esta pantalla.
Finalizar
Presionamos el botn Exit batch input para poder finalizar. Se preguntarn cual es la utilidad ... Obviamente hasta ahora tenemos que cargar la tabla con los datos de forma manual. Lo que
SAP nos ofrece es por ejemplo cargar la tabla con informacin almacenada en ur archivo de excel. El mismo tiene que tener extensin .prn Formatted Text (Space o Tab delimeted)
El archivo estar compuesto por los campos necesarios. El largo de estos tendr que coincidir con el definido en el diccionario de datos (cantidad de caracteres). No olvidarse de cargar tambien la columnos MANDT. Por ejemplo para la tabla Zlibros el archivo podra contener lo siguiente...
Para llenar una tabla a partir de un archivo .prn se usa el siguiente perform...
*&---------------------------------------------------------------------* *& Form abre_archivo
*&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM abre_archivo. data: inte type i. call function 'UPLOAD' exporting CODEPAGE = ' ' filename = 'c:\zlistalibros.prn' IMPORTING FILELENGTH = inte tables data_tab = tabla exceptions conversion_error =1 file_open_error =2 file_read_error =3 invalid_table_width =4 invalid_type =5 no_batch =6 unknown_error =7 gui_refuse_filetransfer = 8 others = 9. endform.
Les ofrecemos un ejemplo de un Batch Input que se podr utilizar como plantilla bsica el siguiente archivo
SAP batchinput builder. Sirve para realizar un Batchinput automticamente, es decir, sin codificar nada. Lo primero que haremos ser entrar a la transaccin SM35, records.
y presionamos el botn Le ponemos un nombre a nuestra grabacin y donde dice TRANSACTION CODE Agregamos nuestra transaccin asociada al batch input.
Aparecer nuestra transaccin, que, en este ejemplo lo que hace es levantar un archivo excel de la ruta especificada ( c:\entrada.prn), y lo devuelve en un archivo de texto (c:\salida.txt) a la vez que agrega los datos del archivo a una tabla. Debemos seguir los pasos de nuestra transaccin y al finalizarla, veremos algo similar a la pantalla siguiente.
En la pantalla emergente le damos un nombre a nuestro programa y tildamos la casilla Transfer from recording..
elegimos Call transaction y en donde dice Run mode, si ponemos A, mostrar todas las poantallas, y si ponemos N , lo har en background.