Tema: Batch Input
Ver Mensaje Individual
  #1  
Viejo 21/02/13, 17:20:39
CRISTINO.GARCIA CRISTINO.GARCIA is offline
Senior Member
 
Fecha de Ingreso: ago 2012
Mensajes: 101
Batch Input

Hola

Hice un batch Input de la transaccion FB03 si lo ejecuto veo que toma bien los valores luego cuando mando a imprimir esa informacion del batch input en la transaccion f.61 le coloca a todos los documentos procesados el mismo texto capturado, no varia el texto

Si ejecuto el batch en fora visible si lo imprime bien en la f.61 pero si lo ejecuto en fondo no,, que puedo revisar?

gracias

aqui esta el codigo:
DATA: BEGIN OF BDC_TAB OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDC_TAB.

* Prueba

DATA: BEGIN OF TI OCCURS 100,
DATOS(125),
END OF TI.

* Tabla interna donde se volcara el fichero.
*DATA: BEGIN OF TI OCCURS 5,
* NOTA(10), " Nro. Documento a realizar la NC
* TEXTO1(60), " Texto Linea 1
* TEXTO2(60), " Texto Linea 2
* END OF TI.

*------------- PARAMETROS----------------------------------------------*
PARAMETERS:
* Archivo de donde se cargaran los datos
N_FICH LIKE RLGRAP-FILENAME DEFAULT ' ',
* Nombre del Grupo de Sesiòn
NOMBREJD LIKE APQI-GROUPID DEFAULT 'DUPLICID_NC'.
* Ejecrcicio
* PERIODO LIKE BKPF-GJAHR DEFAULT '2008'.


*------------- PROGRAMA PRINCIPAL -------------------------------------*
START-OF-SELECTION.
* Abre el Grupo de Sesiòn
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = NOMBREJD
USER = SY-UNAME
KEEP = 'X'.
* Carga el Archivo de Datos pasado por paràmetro en la Tabla Interna ti
PERFORM CARGAR_TABLA.
CLEAR: TI.
LOOP AT TI.
IF TI-DATOS IS INITIAL.
EXIT.
ELSE.
*---- Carga la tabla interna BDC_TAB con los datos de ti
PERFORM TRATAMIENTO_PRINCIPAL.
ENDIF.
ENDLOOP.
* Cierra el grupo de sesiòn
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
NOT_OPEN = 1
QUEUE_ERROR = 2
OTHERS = 3.
WRITE: / 'JUEGO DE DATOS CREADO CON EL NOMBRE: ',
NOMBREJD LEFT-JUSTIFIED.
END-OF-SELECTION.

*-----------------------------------------------------------------------
* FORM CARGAR_TABLA
*-----------------------------------------------------------------------
* LLama a la Funciòn Upload con el nombre del archivo pasado por paramt.
FORM CARGAR_TABLA.
CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME = N_FICH
FILETYPE = 'DAT'
TABLES
DATA_TAB = TI
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7.
ENDFORM.

*-----------------------------------------------------------------------
* FORM INSERTAR_EN_BDC_TAB
*-----------------------------------------------------------------------
* Llama a la funciòn BDC_INSERT con el nùmero de transaciòn que va a
* emular y el nombre de la tabla.
FORM INSERTAR_EN_BDC_TAB.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'FB03'
TABLES
DYNPROTAB = BDC_TAB
EXCEPTIONS
INTERNAL_ERROR = 1
NOT_OPEN = 2
QUEUE_ERROR = 3
TCODE_INVALID = 4
PRINTING_INVALID = 5
POSTING_INVALID = 6
OTHERS = 7.
ENDFORM.

*-----------------------------------------------------------------------
* FORM TRATAMIENTO_PRINCIPAL
*-----------------------------------------------------------------------
* LLama al form Dynpro con los paràmetros correspondientes a cada
* pantalla de la transacciòn. LLama a Insertar_en_BDC_Tab.
FORM TRATAMIENTO_PRINCIPAL.
REFRESH BDC_TAB.
CLEAR BDC_TAB.

PERFORM DYNPRO USING:
'X' 'SAPMF05L' '0100',
' ' 'RF05L-BELNR' TI-DATOS+0(10),
* ' ' 'RF05L-BELNR' TI-NOTA,
' ' 'RF05L-BUKRS' 'DEU',
* ' ' 'RF05L-GJAHR' PERIODO,
' ' 'BDC_OKCODE' '/00'.

PERFORM DYNPRO USING:
'X' 'SAPMF05L' '0700',
' ' 'BDC_OKCODE' '=KORR'.

PERFORM DYNPRO USING:
'X' 'SAPMSSY0' '0120',
' ' 'BDC_CURSOR' '18/05',
' ' 'BDC_OKCODE' '=PICK'.

PERFORM DYNPRO USING:
'X' 'SAPLF022' '1001',
' ' 'RF022-BELNR' TI-DATOS+0(10),
* ' ' 'RF022-BELNR' TI-NOTA,
* ' ' 'RF022-GJAHR' '2007',
' ' 'RF022-SPRAS' 'ES',
* ' ' 'BDC_CURSOR' '18/05',
' ' 'BDC_OKCODE' '=GO'.



PERFORM DYNPRO USING:
'X' 'SAPLSTXX' '1100',
' ' 'RSTXT-TXLINE(05)' TI-DATOS+10(56), " Linea 1 de Texto
* ' ' 'RSTXT-TXLINE(05)' TI-TEXTO1(60), " Linea 1 de Texto
' ' 'BDC_OKCODE' '=EDNP'.


PERFORM DYNPRO USING:
'X' 'SAPLSTXX' '1100',
' ' 'RSTXT-TXLINE(06)' TI-DATOS+66(56), " Linea 2 de Texto
* ' ' 'RSTXT-TXLINE(06)' TI-TEXTO2(60), " Linea 2 de Texto
' ' 'BDC_OKCODE' '=EDNP'.


PERFORM DYNPRO USING:
'X' 'SAPLSTXX' '1100',
' ' 'BDC_OKCODE' '=TXVB'.


PERFORM DYNPRO USING:
'X' 'SAPLSTXX' '1100',
' ' 'BDC_OKCODE' '=TXBA'.


PERFORM DYNPRO USING:
'X' 'SAPMF05L' '0700',
' ' 'BDC_OKCODE' '=RW'.


PERFORM INSERTAR_EN_BDC_TAB.
TI-DATOS+10(56) = ' '.
TI-DATOS+66(56) = ' '.
ENDFORM.

*-----------------------------------------------------------------------
* FORM DYNPRO
*-----------------------------------------------------------------------
* Carga la tabla interna bdc con los datos de cada una de las pantallas
FORM DYNPRO USING DYNBEGIN CAMPO VALOR.
CLEAR BDC_TAB.
IF DYNBEGIN = 'X'.
MOVE: CAMPO TO BDC_TAB-PROGRAM,
VALOR TO BDC_TAB-DYNPRO,
'X' TO BDC_TAB-DYNBEGIN.
ELSE.
MOVE: CAMPO TO BDC_TAB-FNAM,
VALOR TO BDC_TAB-FVAL.
ENDIF.
APPEND BDC_TAB.
ENDFORM.
Responder Con Cita