Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Regarding call transaction

Former Member
0 Likes
414

Hello Gurus,

I am facing following problem in bellow program.program calls the transaction FB10 and update all the table such as BKPF, BSEG.

In next step it is updating the TOA01 table . my problem is after updating the table BKPF in call transaction FB10, i have to select the belnr ( document number ) from BKPF and insert in TOA01. So i dont have any key field to retrive the retive.

key field is company code 1000 and year 2008. so how i can retrvie the belnr ( document number) and update to TOA01 without key field.

Please tell me this is urgent. i have attached the code.

Thanks in advance .

Best Regds,

zubera

&----


*& Report ZFB4

*&

&----


*&

*&

&----


REPORT ZFB4.

TABLES : TOA01, TOA02, TOA03, TOADL.

DATA : BEGIN OF FTAB OCCURS 0.

INCLUDE STRUCTURE BDCDATA.

DATA : END OF FTAB.

DATA : BEGIN OF C_TABLE OCCURS 0.

INCLUDE STRUCTURE TOA01.

DATA : END OF C_TABLE.

DATA : BEGIN OF F_STRING.

INCLUDE STRUCTURE TOA01.

DATA : END OF F_STRING.

DATA : BEGIN OF PL_TABLE OCCURS 0.

INCLUDE STRUCTURE TOADL.

DATA : END OF PL_TABLE.

DATA : BEGIN OF PL_FIELDS.

INCLUDE STRUCTURE TOADL.

DATA : END OF PL_FIELDS.

DATA : BEGIN OF BTAB OCCURS 0,

BUKRS LIKE BKPF-BUKRS,

BELNR LIKE BKPF-BELNR,

GJAHR LIKE BKPF-GJAHR,

DMBTR LIKE BSEG-DMBTR,

END OF BTAB.

DATA : BEGIN OF ITAB OCCURS 0,

N1 type i,

BUKRS LIKE BKPF-BUKRS,

BLART LIKE BKPF-BLART,

NEWKO LIKE RF05A-NEWKO,

WRBTR(13),

BUDAT LIKE BKPF-BUDAT,

NEWBS LIKE RF05A-NEWBS,

END OF ITAB.

DATA : BEGIN OF WA,

N1 TYPE I,

BUKRS LIKE BKPF-BUKRS,

BLART LIKE BKPF-BLART,

NEWKO LIKE RF05A-NEWKO,

WRBTR(13),

NEWBS LIKE RF05A-NEWBS,

END OF WA.

DATA : BEGIN OF MTAB OCCURS 0.

INCLUDE STRUCTURE BDCMSGCOLL.

DATA : END OF MTAB.

SELECTION-SCREEN : BEGIN OF BLOCK B1.

PARAMETER : N TYPE I,

BUK LIKE BKPF-BUKRS,

NEWK(13),

WRBTR(13),

ARCHIV LIKE TOA01-ARCHIV_ID,

OBJECT LIKE TOA01-SAP_OBJECT,

CONTAB(5),

START TYPE I.

SELECTION-SCREEN : END OF BLOCK B1.

WA-N1 = 1.

WA-BUKRS = BUK.

WA-BLART = 'AB'.

WA-NEWKO = NEWK.

WA-WRBTR = WRBTR.

DO N TIMES.

ITAB-N1 = WA-N1.

ITAB-BUKRS = WA-BUKRS.

ITAB-BLART = WA-BLART.

ITAB-BUDAT = SY-DATUM.

ITAB-NEWKO = WA-NEWKO.

ITAB-WRBTR = WA-WRBTR.

APPEND ITAB.

ITAB-N1 = WA-N1.

IF WA-N1 LE N.

WA-N1 = WA-N1 + 1.

WA-WRBTR = WA-WRBTR + 10.

ENDIF.

ENDDO.

*ITAB-N1 = 2.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 02.

*APPEND ITAB.

*ITAB-N1 = 3.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 03.

*APPEND ITAB.

*ITAB-N1 = 4.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 04.

*APPEND ITAB.

*ITAB-N1 = 5.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 05.

*APPEND ITAB.

*ITAB-N1 = 6.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 06.

*APPEND ITAB.

*ITAB-N1 = 7.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 07.

*APPEND ITAB.

*ITAB-N1 = 8.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 08.

*APPEND ITAB.

*ITAB-N1 = 9.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 09.

*APPEND ITAB.

*ITAB-N1 = 10.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 10.

*APPEND ITAB.

PERFORM FILL_BDCDATA.

CALL TRANSACTION 'FB10' USING FTAB MODE 'N' UPDATE 'S' MESSAGES INTO MTAB.

DO N TIMES.

SELECT BUKRS BELNR GJAHR FROM BKPF INTO TABLE BTAB WHERE BUKRS = '1000'

AND GJAHR = '2008'.

ENDDO.

LOOP AT ITAB.

WRITE : / BTAB-BUKRS, BTAB-BELNR, btab-gjahr.

ENDLOOP.

BREAK-POINT.

IF CONTAB EQ 'TOA01' OR

CONTAB EQ 'TOA02' OR

CONTAB EQ 'TOA03'.

PERFORM CREATE_DATA2 TABLES C_TABLE USING N

ARCHIV

OBJECT

START.

CLEAR C_TABLE.

LOOP AT C_TABLE.

MOVE C_TABLE TO F_STRING.

DO N TIMES.

IF CONTAB EQ 'TOA01'.

INSERT INTO TOA01 VALUES F_STRING.

ELSEIF CONTAB EQ 'TOA02'.

INSERT INTO TOA02 VALUES F_STRING.

ELSEIF CONTAB EQ 'TOA03'.

INSERT INTO TOA03 VALUES F_STRING.

ENDIF.

ENDDO.

ENDLOOP.

ELSEIF CONTAB EQ 'TOADL'.

PERFORM CREATE_PL_DATA2 TABLES PL_TABLE USING N

ARCHIV

OBJECT

START.

LOOP AT PL_TABLE.

MOVE PL_TABLE TO PL_FIELDS.

INSERT INTO TOADL VALUES PL_FIELDS.

CLEAR PL_FIELDS.

ENDLOOP.

PERFORM CREATE_DATA2 TABLES C_TABLE USING N

ARCHIV

OBJECT

START.

CLEAR C_TABLE.

LOOP AT C_TABLE.

MOVE C_TABLE TO F_STRING.

INSERT INTO TOA01 VALUES F_STRING.

ENDLOOP.

CLEAR C_TABLE.

ENDIF.

FORM FILL_BDCDATA.

REFRESH FTAB.

LOOP AT ITAB.

PERFORM BDC_DYNPRO USING 'SAPMF05A' '127'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '/ENV'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BKPF-BLDAT'.

PERFORM BDC_DYNPRO USING 'SAPMF05A' '126'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BKPF-BUKRS'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=RE'.

PERFORM BDC_FIELD USING 'BKPF-BUKRS' ITAB-BUKRS.

PERFORM BDC_FIELD USING 'BKPF-BLART' ITAB-BLART.

PERFORM BDC_FIELD USING 'BKPF-BUDAT' '02.01.2008'.

PERFORM BDC_FIELD USING 'BKPF-MONAT' '1'.

PERFORM BDC_FIELD USING 'BKPF-WAERS' 'EUR'.

PERFORM BDC_FIELD USING 'BKPF-BLDAT' '02.01.2008'.

PERFORM BDC_DYNPRO USING 'SAPMF05A' '127'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-WRBTR'.

PERFORM BDC_FIELD USING 'BKPF-BLDAT' '02.01.2008'.

PERFORM BDC_FIELD USING 'BKPF-WAERS' 'EUR'.

PERFORM BDC_FIELD USING 'RF05A-NEWKO' ITAB-NEWKO.

PERFORM BDC_FIELD USING 'BSEG-WRBTR' ITAB-WRBTR.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BU'.

PERFORM BDC_DYNPRO USING 'SAPMF05A' '700'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'RF05A-NEWKO'.

PERFORM BDC_FIELD USING 'RF05A-NEWBS' '01'.

PERFORM BDC_FIELD USING 'RF05A-NEWKO' '3471'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BU'.

PERFORM BDC_DYNPRO USING 'SAPMF05A' '301'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-WMWST'.

PERFORM BDC_FIELD USING 'BSEG-WRBTR' ITAB-WRBTR .

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BU'.

IF ITAB-N1 EQ N.

EXIT.

ENDIF.

ENDLOOP.

ENDFORM.

FORM BDC_DYNPRO USING P_PROGRAM P_DYNPRO.

CLEAR FTAB.

FTAB-PROGRAM = P_PROGRAM.

FTAB-DYNPRO = P_DYNPRO.

FTAB-DYNBEGIN = 'X'.

APPEND FTAB.

ENDFORM.

FORM BDC_FIELD USING P_FNAM P_FVAL.

CLEAR FTAB.

FTAB-FNAM = P_FNAM.

FTAB-FVAL = P_FVAL.

APPEND FTAB.

ENDFORM.

FORM CREATE_DATA2 TABLES INT_TAB STRUCTURE TOA01 USING N

ARCHIV

OBJECT

START.

DATA : BEGIN OF F_STRING.

INCLUDE STRUCTURE INT_TAB.

DATA : END OF F_STRING.

DATA : BUK LIKE BKPF-BUKRS,

GJA LIKE BKPF-GJAHR,

OBJID(50).

BUK = 1000.

GJA = 2008.

DATA : TOA(18) TYPE N,

INDEX(10) TYPE N.

DATA : N5 TYPE I .

DATA : N6 TYPE I VALUE 1.

DO N TIMES.

  • IF START IS INITIAL.

  • INDEX = SY-INDEX.

  • ELSE.

  • INDEX = START + SY-INDEX - 1.

  • ENDIF.

F_STRING-MANDT = SY-MANDT.

F_STRING-SAP_OBJECT = OBJECT.

F_STRING-ARCHIV_ID = ARCHIV.

CONCATENATE BUK INDEX GJA INTO OBJID.

F_STRING-OBJECT_ID = OBJID.

  • F_STRING-ARC_DOC_ID = INDEX.

APPEND F_STRING TO INT_TAB.

CLEAR F_STRING.

ENDDO.

ENDFORM.

FORM CREATE_PL_DATA2 TABLES INT_TAB STRUCTURE TOADL USING N

ARCHIV

OBJECT

START.

DATA : BEGIN OF F_STRING.

INCLUDE STRUCTURE INT_TAB.

DATA : END OF F_STRING.

DATA : BUK LIKE BKPF-BUKRS,

GJA LIKE BKPF-GJAHR,

OBJID(50).

BUK = 1000.

GJA = 2007.

DATA : TOA(18) TYPE N,

INDEX(10) TYPE N.

DO N TIMES.

IF START IS INITIAL.

INDEX = SY-INDEX.

ELSE.

INDEX = START + SY-INDEX - 1.

ENDIF.

F_STRING-MANDANT = SY-MANDT.

F_STRING-SAP_OBJECT = OBJECT.

F_STRING-ARCHIV_ID = ARCHIV.

F_STRING-ARC_DOC_ID = INDEX.

F_STRING-AR_OBJECT = 'TEST'.

F_STRING-BENUTZER = SY-UNAME.

F_STRING-DATALENGTH = 0.

F_STRING-DATUM = SY-DATUM.

F_STRING-DESCLENGTH = 0.

F_STRING-DRUCKER = 'LP01'.

F_STRING-FORMULAR = 'X_65_132'.

F_STRING-INFO = 'TST'.

F_STRING-KURZTEXT = 'AUTOMATISH GENERATED DRUCKLIST'.

F_STRING-LNR = INDEX.

F_STRING-REPORT = 'F.YYY'.

F_STRING-AR_TIME = SY-UZEIT.

APPEND F_STRING TO INT_TAB.

CLEAR F_STRING.

ENDDO.

ENDFORM.

Hello Gurus,

I am facing following problem in bellow program.program calls the transaction FB10 and update all the table such as BKPF, BSEG.

In next step it is updating the TOA01 table . my problem is after updating the table BKPF in call transaction FB10, i have to select the belnr ( document number ) from BKPF and insert in TOA01. So i dont have any key field to retrive the retive.

key field is company code 1000 and year 2008. so how i can retrvie the belnr ( document number) and update to TOA01 without key field.

Please tell me this is urgent. i have attached the code.

Thanks in advance .

Best Regds,

zubera

&----


*& Report ZFB4

*&

&----


*&

*&

&----


REPORT ZFB4.

TABLES : TOA01, TOA02, TOA03, TOADL.

DATA : BEGIN OF FTAB OCCURS 0.

INCLUDE STRUCTURE BDCDATA.

DATA : END OF FTAB.

DATA : BEGIN OF C_TABLE OCCURS 0.

INCLUDE STRUCTURE TOA01.

DATA : END OF C_TABLE.

DATA : BEGIN OF F_STRING.

INCLUDE STRUCTURE TOA01.

DATA : END OF F_STRING.

DATA : BEGIN OF PL_TABLE OCCURS 0.

INCLUDE STRUCTURE TOADL.

DATA : END OF PL_TABLE.

DATA : BEGIN OF PL_FIELDS.

INCLUDE STRUCTURE TOADL.

DATA : END OF PL_FIELDS.

DATA : BEGIN OF BTAB OCCURS 0,

BUKRS LIKE BKPF-BUKRS,

BELNR LIKE BKPF-BELNR,

GJAHR LIKE BKPF-GJAHR,

DMBTR LIKE BSEG-DMBTR,

END OF BTAB.

DATA : BEGIN OF ITAB OCCURS 0,

N1 type i,

BUKRS LIKE BKPF-BUKRS,

BLART LIKE BKPF-BLART,

NEWKO LIKE RF05A-NEWKO,

WRBTR(13),

BUDAT LIKE BKPF-BUDAT,

NEWBS LIKE RF05A-NEWBS,

END OF ITAB.

DATA : BEGIN OF WA,

N1 TYPE I,

BUKRS LIKE BKPF-BUKRS,

BLART LIKE BKPF-BLART,

NEWKO LIKE RF05A-NEWKO,

WRBTR(13),

NEWBS LIKE RF05A-NEWBS,

END OF WA.

DATA : BEGIN OF MTAB OCCURS 0.

INCLUDE STRUCTURE BDCMSGCOLL.

DATA : END OF MTAB.

SELECTION-SCREEN : BEGIN OF BLOCK B1.

PARAMETER : N TYPE I,

BUK LIKE BKPF-BUKRS,

NEWK(13),

WRBTR(13),

ARCHIV LIKE TOA01-ARCHIV_ID,

OBJECT LIKE TOA01-SAP_OBJECT,

CONTAB(5),

START TYPE I.

SELECTION-SCREEN : END OF BLOCK B1.

WA-N1 = 1.

WA-BUKRS = BUK.

WA-BLART = 'AB'.

WA-NEWKO = NEWK.

WA-WRBTR = WRBTR.

DO N TIMES.

ITAB-N1 = WA-N1.

ITAB-BUKRS = WA-BUKRS.

ITAB-BLART = WA-BLART.

ITAB-BUDAT = SY-DATUM.

ITAB-NEWKO = WA-NEWKO.

ITAB-WRBTR = WA-WRBTR.

APPEND ITAB.

ITAB-N1 = WA-N1.

IF WA-N1 LE N.

WA-N1 = WA-N1 + 1.

WA-WRBTR = WA-WRBTR + 10.

ENDIF.

ENDDO.

*ITAB-N1 = 2.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 02.

*APPEND ITAB.

*ITAB-N1 = 3.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 03.

*APPEND ITAB.

*ITAB-N1 = 4.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 04.

*APPEND ITAB.

*ITAB-N1 = 5.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 05.

*APPEND ITAB.

*ITAB-N1 = 6.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 06.

*APPEND ITAB.

*ITAB-N1 = 7.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 07.

*APPEND ITAB.

*ITAB-N1 = 8.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 08.

*APPEND ITAB.

*ITAB-N1 = 9.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 09.

*APPEND ITAB.

*ITAB-N1 = 10.

*ITAB-BUKRS = BUK.

*ITAB-BLART = 'AB'.

*ITAB-NEWKO = NEWK.

*ITAB-WRBTR = 10.

*APPEND ITAB.

PERFORM FILL_BDCDATA.

CALL TRANSACTION 'FB10' USING FTAB MODE 'N' UPDATE 'S' MESSAGES INTO MTAB.

DO N TIMES.

SELECT BUKRS BELNR GJAHR FROM BKPF INTO TABLE BTAB WHERE BUKRS = '1000'

AND GJAHR = '2008'.

ENDDO.

LOOP AT ITAB.

WRITE : / BTAB-BUKRS, BTAB-BELNR, btab-gjahr.

ENDLOOP.

BREAK-POINT.

IF CONTAB EQ 'TOA01' OR

CONTAB EQ 'TOA02' OR

CONTAB EQ 'TOA03'.

PERFORM CREATE_DATA2 TABLES C_TABLE USING N

ARCHIV

OBJECT

START.

CLEAR C_TABLE.

LOOP AT C_TABLE.

MOVE C_TABLE TO F_STRING.

DO N TIMES.

IF CONTAB EQ 'TOA01'.

INSERT INTO TOA01 VALUES F_STRING.

ELSEIF CONTAB EQ 'TOA02'.

INSERT INTO TOA02 VALUES F_STRING.

ELSEIF CONTAB EQ 'TOA03'.

INSERT INTO TOA03 VALUES F_STRING.

ENDIF.

ENDDO.

ENDLOOP.

ELSEIF CONTAB EQ 'TOADL'.

PERFORM CREATE_PL_DATA2 TABLES PL_TABLE USING N

ARCHIV

OBJECT

START.

LOOP AT PL_TABLE.

MOVE PL_TABLE TO PL_FIELDS.

INSERT INTO TOADL VALUES PL_FIELDS.

CLEAR PL_FIELDS.

ENDLOOP.

PERFORM CREATE_DATA2 TABLES C_TABLE USING N

ARCHIV

OBJECT

START.

CLEAR C_TABLE.

LOOP AT C_TABLE.

MOVE C_TABLE TO F_STRING.

INSERT INTO TOA01 VALUES F_STRING.

ENDLOOP.

CLEAR C_TABLE.

ENDIF.

FORM FILL_BDCDATA.

REFRESH FTAB.

LOOP AT ITAB.

PERFORM BDC_DYNPRO USING 'SAPMF05A' '127'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '/ENV'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BKPF-BLDAT'.

PERFORM BDC_DYNPRO USING 'SAPMF05A' '126'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BKPF-BUKRS'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=RE'.

PERFORM BDC_FIELD USING 'BKPF-BUKRS' ITAB-BUKRS.

PERFORM BDC_FIELD USING 'BKPF-BLART' ITAB-BLART.

PERFORM BDC_FIELD USING 'BKPF-BUDAT' '02.01.2008'.

PERFORM BDC_FIELD USING 'BKPF-MONAT' '1'.

PERFORM BDC_FIELD USING 'BKPF-WAERS' 'EUR'.

PERFORM BDC_FIELD USING 'BKPF-BLDAT' '02.01.2008'.

PERFORM BDC_DYNPRO USING 'SAPMF05A' '127'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-WRBTR'.

PERFORM BDC_FIELD USING 'BKPF-BLDAT' '02.01.2008'.

PERFORM BDC_FIELD USING 'BKPF-WAERS' 'EUR'.

PERFORM BDC_FIELD USING 'RF05A-NEWKO' ITAB-NEWKO.

PERFORM BDC_FIELD USING 'BSEG-WRBTR' ITAB-WRBTR.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BU'.

PERFORM BDC_DYNPRO USING 'SAPMF05A' '700'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'RF05A-NEWKO'.

PERFORM BDC_FIELD USING 'RF05A-NEWBS' '01'.

PERFORM BDC_FIELD USING 'RF05A-NEWKO' '3471'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BU'.

PERFORM BDC_DYNPRO USING 'SAPMF05A' '301'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'BSEG-WMWST'.

PERFORM BDC_FIELD USING 'BSEG-WRBTR' ITAB-WRBTR .

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BU'.

IF ITAB-N1 EQ N.

EXIT.

ENDIF.

ENDLOOP.

ENDFORM.

FORM BDC_DYNPRO USING P_PROGRAM P_DYNPRO.

CLEAR FTAB.

FTAB-PROGRAM = P_PROGRAM.

FTAB-DYNPRO = P_DYNPRO.

FTAB-DYNBEGIN = 'X'.

APPEND FTAB.

ENDFORM.

FORM BDC_FIELD USING P_FNAM P_FVAL.

CLEAR FTAB.

FTAB-FNAM = P_FNAM.

FTAB-FVAL = P_FVAL.

APPEND FTAB.

ENDFORM.

FORM CREATE_DATA2 TABLES INT_TAB STRUCTURE TOA01 USING N

ARCHIV

OBJECT

START.

DATA : BEGIN OF F_STRING.

INCLUDE STRUCTURE INT_TAB.

DATA : END OF F_STRING.

DATA : BUK LIKE BKPF-BUKRS,

GJA LIKE BKPF-GJAHR,

OBJID(50).

BUK = 1000.

GJA = 2008.

DATA : TOA(18) TYPE N,

INDEX(10) TYPE N.

DATA : N5 TYPE I .

DATA : N6 TYPE I VALUE 1.

DO N TIMES.

  • IF START IS INITIAL.

  • INDEX = SY-INDEX.

  • ELSE.

  • INDEX = START + SY-INDEX - 1.

  • ENDIF.

F_STRING-MANDT = SY-MANDT.

F_STRING-SAP_OBJECT = OBJECT.

F_STRING-ARCHIV_ID = ARCHIV.

CONCATENATE BUK INDEX GJA INTO OBJID.

F_STRING-OBJECT_ID = OBJID.

  • F_STRING-ARC_DOC_ID = INDEX.

APPEND F_STRING TO INT_TAB.

CLEAR F_STRING.

ENDDO.

ENDFORM.

FORM CREATE_PL_DATA2 TABLES INT_TAB STRUCTURE TOADL USING N

ARCHIV

OBJECT

START.

DATA : BEGIN OF F_STRING.

INCLUDE STRUCTURE INT_TAB.

DATA : END OF F_STRING.

DATA : BUK LIKE BKPF-BUKRS,

GJA LIKE BKPF-GJAHR,

OBJID(50).

BUK = 1000.

GJA = 2007.

DATA : TOA(18) TYPE N,

INDEX(10) TYPE N.

DO N TIMES.

IF START IS INITIAL.

INDEX = SY-INDEX.

ELSE.

INDEX = START + SY-INDEX - 1.

ENDIF.

F_STRING-MANDANT = SY-MANDT.

F_STRING-SAP_OBJECT = OBJECT.

F_STRING-ARCHIV_ID = ARCHIV.

F_STRING-ARC_DOC_ID = INDEX.

F_STRING-AR_OBJECT = 'TEST'.

F_STRING-BENUTZER = SY-UNAME.

F_STRING-DATALENGTH = 0.

F_STRING-DATUM = SY-DATUM.

F_STRING-DESCLENGTH = 0.

F_STRING-DRUCKER = 'LP01'.

F_STRING-FORMULAR = 'X_65_132'.

F_STRING-INFO = 'TST'.

F_STRING-KURZTEXT = 'AUTOMATISH GENERATED DRUCKLIST'.

F_STRING-LNR = INDEX.

F_STRING-REPORT = 'F.YYY'.

F_STRING-AR_TIME = SY-UZEIT.

APPEND F_STRING TO INT_TAB.

CLEAR F_STRING.

ENDDO.

ENDFORM.

1 REPLY 1
Read only

George_Lioumis
Active Participant
0 Likes
350

Hello.

Try this.

After calling transaction FB10 write:

data wl_bln like bkpf-belnr.

data wl_buk like bkpf-bukrs.

data wl_gjr like bkpf-gjhar.

if sy-subrc = 0.

get parameter id 'BLN' field wl_bln.

get parameter id 'BUK' field wl_buk.

get parameter id 'GJR' field wl_gjr.

endif.

then, do a busy waiting loop to check that the FI document has actually been posted to BKPF as follows:

do 10000 times.

select count( * ) from BKPF up to 1 rows bypassing buferr

where bukrs = wl_buk

and belnr = wl_bln

and gjahr = wl_gjr.

if sy-subrc = 0.

exit.

endif.

enddo.

Reward points if helpful

Regards,

George