Nicht? Bei mir klappts wunderbar
Dann poste ich mal hier ein bislr rein:
Mein Loop der den BatchInput füllt:
FORM batch_last_fuellen .
CLEAR bdcdata.
REFRESH bdcdata.
DATA: dummy_beleg type d,
dummy_buchung type d.
counter = 0.
LOOP AT itab.
IF itab-paytyp EQ '380'.
counter = counter + 1.
CONCATENATE beleg_dat(2) beleg_dat+3(2) beleg_dat+6(4) INTO
dummy_beleg.
CONCATENATE buchung_dat(2) buchung_dat+3(2) buchung_dat+6(4) INTO
dummy_buchung.
* 1.Seite
* Programm Name
PERFORM bdc_dynpro USING 'SAPMF05A' '0103'.
* Feld auf Dynpro
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-XPOS1(05)'.
PERFORM bdc_field USING 'BDC_OKCODE' '=PA'.
PERFORM bdc_field USING 'BKPF-BLDAT' dummy_beleg.
PERFORM bdc_field USING 'BKPF-BLART' 'SA'.
PERFORM bdc_field USING 'BKPF-BUKRS' '0001'.
PERFORM bdc_field USING 'BKPF-BUDAT' dummy_buchung.
PERFORM bdc_field USING 'BKPF-WAERS' 'CHF'.
PERFORM bdc_field USING 'RF05A-Konto' kontonr.
PERFORM bdc_field USING 'BSEG-WRBTR' itab-betr_brut.
PERFORM bdc_field USING 'RF05A-AGKOA' 'D'.
PERFORM bdc_field USING 'RF05A-XNOPS' 'X'.
PERFORM bdc_field USING 'RF05A-XPOS1(01)' ' '.
PERFORM bdc_field USING 'RF05A-XPOS1(05)' 'X'.
* 2.Seite
* Programm Name
PERFORM bdc_dynpro USING 'SAPMF05A' '0731'.
* Feld auf Dynpro
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-SEL01(01)'.
PERFORM bdc_field USING 'BDC_OKCODE' '=PA'.
PERFORM bdc_field USING 'RF05A-SEL01(01)' itab-belegnummer.
PERFORM bdc_dynpro USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_OKCODE' '=Z+'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPDF05X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'DF05B-PSSKT(01)'.
PERFORM bdc_field USING 'RF05A-ABPOS' '1'.
PERFORM bdc_dynpro USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPDF05X'.
PERFORM bdc_field USING 'BDC_CURSOR' 'DF05B-PSSKT(01)'.
PERFORM bdc_field USING 'RF05A-ABPOS' '1'.
ENDIF.
ENDLOOP.
* Zuletzt
PERFORM mappe_last_erstellen.
ENDFORM. "batch_last_fuellen
Das Protokoll kann ich aber nicht posten, es ist zu unübersichtlich wenn ich es hier reinposte
