Documente Academic
Documente Profesional
Documente Cultură
Leccin 1
Por ejemplo, tenemos una transaccin (la xk01) en la cual se tienen que rellenar
una gran cantidad de datos y en muchas pantallas diferentes.
La tcnica se basa en la repeticin de una accin mediante una grabacin para que
el programa conozca lo que tendr que hacer tantas veces como campos tenga que
rellenar. O lo que es lo mismo, se rellenan estos campos UNA SOLA VEZ mientras
el programa va grabando y memorizando los pasos del proceso.
Para ello, se recomienda generar un archivo externo que contenga los datos a
cargar, por ejemplo un archivo Excel, de tal forma que, el programa cargue esos
datos en una tabla interna y cuando el proceso del BATCH INPUT as lo requiera se
vayan cogiendo de sta.
El rea del Batch input est disponible desde cualquier punto de SAP ya que est en
el men System (accesible desde cualquier transaccin).
SystemServicesBatch Input.
Recorder SHDB
Lo primero que se debe hacer es familiarizarse o conocer bien que datos se quieren
usar y los pasos a seguir siguiendo siempre un orden lgico as como realizar
varios ejemplos con los datos de los que disponemos y grabar siempre la sesin
con el mximo nmero de campos a rellenar.
En la que se pueden ver todos los batch inputs que se han procesado hasta este
mismo momento.
Para comenzar con la grabacin se presiona Grabacin y Grabacin nueva.
Tal y como se ha hecho en las pruebas, se debe rellenar los datos de las pantallas
con al mayor nmero de campos a rellenar as como pantallas, para emular el
ejemplo ms completo posible.
Si todo es correcto slo falta pulsar el botn de grabar (icono con forma de
disquete). Automticamente salta una pantalla donde se muestra todas las
Hay que recordar siempre que lo que se nos ofrece es una solucin especfica y en
bruto, quedando a cargo del programador cosas como utilizar el pretty printer para
resaltar las palabras claves y por supuesto modificar los valores puestos por defecto
por los valores propios del fichero masivo que se ha creado para tal fin.
Para ello, se genera, por ejemplo, una tabla interna con la siguiente estructura (tal
y como se ha declarado en la Excel.
Dentro del START OF SELECTION se llama a una funcin de upload para cargar
los datosllamaremos a la funcin UPLOAD que ser la encargada de pasar los
datos de nuestro archivo a la tabla interna lt_tabla que se ha declarado:
START-OF-SELECTION.
CALL FUNCTION 'UPLOAD'
EXPORTING filename = p_fich
filetype = 'DAT'
TABLES data_tab = lt_tabla
EXCEPTIONS conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4.
Con los datos ya cargados en la tabla interna lt_tabla hay que generar un loop
para recorrer los datos.
PERFORM open_group.
Hay que recordar que la lnea 1 del Excel es la cabecera que se le ha puesto.
LOOP AT lt_tabla INTO lwa_tabla FROM 2.
PERFORM bdc_dynpro USING 'SAPMF02K' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF02K-KTOKK'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
El valor del campo 'RF02K-KTOKK en este caso se toma como algo fijo, y podra
sustituirse por una constante.
PERFORM bdc_field USING 'RF02K-KTOKK' 'zzgz'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR' 'LFA1-SPRAS'.
PERFORM bdc_field USING 'BDC_OKCODE' '=UPDA'.
PERFORM bdc_field USING 'LFA1-NAME1' lwa_tabla-nombre.
PERFORM bdc_field USING 'LFA1-SORTL' lwa_tabla-conbus.
En la fase de test es conveniente ejecutarlo en modo visible para ver paso a paso
cmo se rellenan las pantallas con los datos, y cuando se est seguro de que todo
est correcto se recomienda ejecutarlo en modo visualizar slo errores o invisible
dependiendo de lo delicado que sea el proceso.
Si no ha habido ningn error se puede ver que el proceso ha pasado a la pestaa
de Procesado, y la carga de todos los datos se ha completado.
Para ver el resultado se puede ejecutar la transaccin xk03 comprobar que se han
cargado los datos correctamente.