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

Issue in session method

Former Member
0 Likes
758

hi,

i recorded PA40 transaction . when i run this code using call transaction mode it is working fine. when i am running it session method it is giving error like "Batch input session is completed'.

i am sending my code below.

report ZAAATEST

no standard page heading line-size 255.

DATA: wa_opt TYPE ctu_params.

PARAMETERS : P_GROUP LIKE APQI-GROUPID DEFAULT 'AVANTIMRG10'.

wa_opt-nobinpt = 'X'.

wa_opt-DISMODE = 'A'.

wa_opt-UPDMODE = 'S'.

WA_OPT-RACOMMIT = 'X'.

include bdcrecx1.

start-of-selection.

*perform open_group.

  • -- Initial Screen

perform bdc_dynpro using 'SAPMP50A' '2000'.

perform bdc_field using 'BDC_CURSOR'

'T529T-MNTXT(05)'.

perform bdc_field using 'BDC_OKCODE'

'=PICK'.

perform bdc_field using 'RP50G-PERNR'

''.

perform bdc_field using 'RP50G-EINDA'

'04/15/2008'.

perform bdc_field using 'RP50G-SELEC(05)'

'X'.

  • -- 0000

perform bdc_dynpro using 'MP000000' '2000'.

perform bdc_field using 'BDC_CURSOR'

'PSPAR-PLANS'.

perform bdc_field using 'BDC_OKCODE'

'=UPD'.

perform bdc_field using 'P0000-BEGDA'

'04/15/2008'.

perform bdc_field using 'P0000-ENDDA'

'12/31/9999'.

perform bdc_field using 'P0000-MASSN'

'10'.

perform bdc_field using 'P0000-MASSG'

'NR'.

perform bdc_field using 'PSPAR-PLANS'

'00621775'.

perform bdc_field using 'PSPAR-WERKS'

'US01'.

perform bdc_field using 'PSPAR-PERSG'

'1'.

perform bdc_field using 'PSPAR-PERSK'

'11'.

commit work.

perform bdc_dynpro using 'MP000100' '2010'.

perform bdc_field using 'BDC_CURSOR'

'P0001-BEGDA'.

perform bdc_field using 'BDC_OKCODE'

'=UPD'.

commit work.

*perform bdc_field using 'P0001-BEGDA'

  • '04/15/2008'.

*perform bdc_field using 'P0001-ENDDA'

  • '12/31/9999'.

*perform bdc_field using 'P0001-ABKRS'

  • 'UB'.

*perform bdc_field using 'PPRHPR-PROZT'

  • '100,00'.

*perform bdc_field using 'P0001-PLANS'

  • '00621775'.

*perform bdc_dynpro using 'SAPLRHOV' '0100'.

*perform bdc_field using 'BDC_CURSOR'

  • 'P1007-BEGDA'.

perform bdc_field using 'BDC_OKCODE'

'=CONT'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=UPD'.

*perform bdc_field using 'P1007-BEGDA'

  • '04/14/2008'.

perform bdc_dynpro using 'MP000200' '2010'.

perform bdc_field using 'BDC_CURSOR'

'P0002-GBDAT'.

perform bdc_field using 'BDC_OKCODE'

'=UPD'.

commit work.

perform bdc_field using 'P0002-BEGDA'

'04/15/2008'.

perform bdc_field using 'P0002-ENDDA'

'12/31/9999'.

perform bdc_field using 'P0002-NACHN'

'Test gelco 2'.

perform bdc_field using 'P0002-VORNA'

'Test'.

perform bdc_field using 'Q0002-PERID'

'999999999'.

perform bdc_field using 'P0002-GBDAT'

'02/25/1995'.

perform bdc_field using 'Q0002-GESC3'

'X'.

  • maheedhar-start

perform bdc_field using 'BDC_OKCODE'

'=CONT'.

PERFORM BDC_FIELD USING 'BDC_OKCODE' '=UPD'.

commit work.

  • maheedhar-end

*----


perform bdc_dynpro using 'MP000600' '2010'.

perform bdc_field using 'BDC_CURSOR'

'P0006-PSTLZ'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

  • 'UPD'.

perform bdc_field using 'P0006-BEGDA'

'04/15/2008'.

perform bdc_field using 'P0006-ENDDA'

'12/31/9999'.

perform bdc_field using 'P0006-ANSSA'

'9001'.

perform bdc_field using 'P0006-STRAS'

'uyertutiuetu'.

perform bdc_field using 'P0006-ORT01'

'fgkjkdgkd'.

perform bdc_field using 'P0006-STATE'

'CA'.

perform bdc_field using 'P0006-PSTLZ'

'95061'.

perform bdc_field using 'P0006-LAND1'

'US'.

perform bdc_dynpro using 'MP000600' '2010'.

perform bdc_field using 'BDC_CURSOR'

'P0006-BEGDA'.

perform bdc_field using 'BDC_OKCODE'

'=UPD'.

perform bdc_field using 'P0006-BEGDA'

'04/15/2008'.

perform bdc_field using 'P0006-ENDDA'

'12/31/9999'.

perform bdc_field using 'P0006-ANSSA'

'9001'.

perform bdc_field using 'P0006-STRAS'

'uyertutiuetu'.

perform bdc_field using 'P0006-ORT01'

'fgkjkdgkd'.

perform bdc_field using 'P0006-STATE'

'CA'.

perform bdc_field using 'P0006-PSTLZ'

'95061'.

perform bdc_field using 'P0006-LAND1'

'US'.

perform bdc_dynpro using 'MP000700' '2000'.

perform bdc_field using 'BDC_CURSOR'

'P0007-WOSTD'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'P0007-BEGDA'

'04/15/2008'.

perform bdc_field using 'P0007-ENDDA'

'12/31/9999'.

perform bdc_field using 'P0007-SCHKZ'

'NORM'.

perform bdc_field using 'P0007-ZTERF'

'9'.

perform bdc_field using 'P0007-WOSTD'

' 40'.

perform bdc_dynpro using 'MP000700' '2000'.

perform bdc_field using 'BDC_CURSOR'

'P0007-BEGDA'.

perform bdc_field using 'BDC_OKCODE'

'=UPD'.

perform bdc_field using 'P0007-BEGDA'

'04/15/2008'.

perform bdc_field using 'P0007-ENDDA'

'12/31/9999'.

perform bdc_field using 'P0007-SCHKZ'

'NORM'.

perform bdc_field using 'P0007-ZTERF'

'9'.

perform bdc_field using 'P0007-WOSTD'

' 40,00'.

perform bdc_field using 'P0007-WKWDY'

' 5,00'.

perform bdc_dynpro using 'MP000800' '2010'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'P0008-BEGDA'

'04/15/2008'.

perform bdc_field using 'P0008-ENDDA'

'12/31/9999'.

perform bdc_field using 'P0008-PREAS'

'HC'.

perform bdc_field using 'P0008-BSGRD'

'100,00'.

perform bdc_field using 'Q0008-ANSAL'

' 102000'.

perform bdc_field using 'P0008-ANCUR'

'USD'.

perform bdc_field using 'BDC_CURSOR'

'Q0008-BETRG(01)'.

perform bdc_field using 'Q0008-IBBEG'

'04/15/2008'.

perform bdc_field using 'P0008-WAERS'

'USD'.

perform bdc_field using 'Q0008-BETRG(01)'

' 1'.

perform bdc_dynpro using 'MP000800' '2010'.

perform bdc_field using 'BDC_CURSOR'

'P0008-BEGDA'.

perform bdc_field using 'BDC_OKCODE'

'=UPD'.

perform bdc_field using 'P0008-BEGDA'

'04/15/2008'.

perform bdc_field using 'P0008-ENDDA'

'12/31/9999'.

perform bdc_field using 'P0008-PREAS'

'HC'.

perform bdc_field using 'P0008-BSGRD'

'100,00'.

perform bdc_field using 'Q0008-ANSAL'

' 102.000,00'.

perform bdc_field using 'P0008-ANCUR'

'USD'.

perform bdc_field using 'Q0008-IBBEG'

'04/15/2008'.

perform bdc_field using 'P0008-WAERS'

'USD'.

perform bdc_dynpro using 'MP001500' '2000'.

perform bdc_field using 'BDC_OKCODE'

'/ENXT'.

perform bdc_field using 'BDC_CURSOR'

'P0015-LGART'.

perform bdc_dynpro using 'MP001400' '2010'.

perform bdc_field using 'BDC_CURSOR'

'Q0014-BETRG'.

perform bdc_field using 'BDC_OKCODE'

'=UPD'.

perform bdc_field using 'P0014-BEGDA'

'04/15/2008'.

perform bdc_field using 'P0014-ENDDA'

'12/31/9999'.

perform bdc_field using 'P0014-LGART'

'9000'.

perform bdc_field using 'Q0014-BETRG'

' 6646'.

perform bdc_field using 'P0014-WAERS'

'USD'.

perform bdc_dynpro using 'MP010500' '2000'.

perform bdc_field using 'BDC_CURSOR'

'P0105-USRID'.

perform bdc_field using 'BDC_OKCODE'

'=UPD'.

perform bdc_field using 'P0105-BEGDA'

'04/15/2008'.

perform bdc_field using 'P0105-ENDDA'

'12/31/9999'.

perform bdc_field using 'P0105-USRID'

'gwh'.

perform bdc_dynpro using 'MP010500' '2000'.

perform bdc_field using 'BDC_CURSOR'

'P0105-USRID_LONG'.

perform bdc_field using 'BDC_OKCODE'

'=UPD'.

perform bdc_field using 'P0105-BEGDA'

'04/15/2008'.

perform bdc_field using 'P0105-ENDDA'

'12/31/9999'.

perform bdc_dynpro using 'MP010500' '2000'.

perform bdc_field using 'BDC_CURSOR'

'P0105-BEGDA'.

perform bdc_field using 'BDC_OKCODE'

'=UPD'.

perform bdc_field using 'P0105-BEGDA'

'04/15/2008'.

perform bdc_field using 'P0105-ENDDA'

'12/31/9999'.

perform bdc_field using 'P0105-USRID'

'8859'.

perform bdc_dynpro using 'MP003200' '2000'.

perform bdc_field using 'BDC_OKCODE'

'/ENXT'.

perform bdc_field using 'BDC_CURSOR'

'P0032-BEGDA'.

perform bdc_dynpro using 'MP002300' '2000'.

perform bdc_field using 'BDC_OKCODE'

'/ENXT'.

perform bdc_field using 'BDC_CURSOR'

'P0023-BEGDA'.

perform bdc_dynpro using 'MP900500' '2000'.

perform bdc_field using 'BDC_OKCODE'

'/ENXT'.

perform bdc_field using 'BDC_CURSOR'

'P9005-BEGDA'.

perform bdc_dynpro using 'MP004100' '2000'.

perform bdc_field using 'BDC_CURSOR'

'P0041-DAT01'.

perform bdc_field using 'BDC_OKCODE'

'=UPD'.

perform bdc_field using 'P0041-BEGDA'

'04/15/2008'.

perform bdc_field using 'P0041-ENDDA'

'12/31/9999'.

perform bdc_field using 'P0041-DAR01'

'01'.

perform bdc_field using 'P0041-DAT01'

'04/15/2008'.

perform bdc_dynpro using 'MP900400' '2000'.

perform bdc_field using 'BDC_OKCODE'

'/ENXT'.

perform bdc_field using 'BDC_CURSOR'

'P9004-BEGDA'.

perform bdc_dynpro using 'MP003500' '2000'.

perform bdc_field using 'BDC_OKCODE'

'/ENXT'.

perform bdc_field using 'BDC_CURSOR'

'P0035-BEGDA'.

perform bdc_dynpro using 'MP003500' '2000'.

perform bdc_field using 'BDC_OKCODE'

'/ENXT'.

perform bdc_field using 'BDC_CURSOR'

'P0035-BEGDA'.

perform bdc_dynpro using 'MP003500' '2000'.

perform bdc_field using 'BDC_OKCODE'

'/ENXT'.

perform bdc_field using 'BDC_CURSOR'

'P0035-BEGDA'.

perform bdc_dynpro using 'MP003500' '2000'.

perform bdc_field using 'BDC_OKCODE'

'/ENXT'.

perform bdc_field using 'BDC_CURSOR'

'P0035-BEGDA'.

perform bdc_dynpro using 'MP003500' '2000'.

perform bdc_field using 'BDC_OKCODE'

'/ENXT'.

perform bdc_field using 'BDC_CURSOR'

'P0035-BEGDA'.

perform bdc_dynpro using 'MP007700' '2000'.

perform bdc_field using 'BDC_OKCODE'

'/ENXT'.

perform bdc_field using 'BDC_CURSOR'

'P0077-BEGDA'.

perform bdc_dynpro using 'SAPMP50A' '2000'.

perform bdc_field using 'BDC_OKCODE'

'/EBCK'.

perform bdc_field using 'BDC_CURSOR'

'RP50G-PERNR'.

**perform bdc_transaction using 'PA40'.

*

  • CALL TRANSACTION 'PA40' USING BDCDATA

    • MODE 'A'

  • OPTIONS FROM wa_opt

  • MESSAGES INTO MESSTAB.

*

*DATA: w_session_name LIKE apqi-groupid.

*

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

  • DEST = FILLER8

GROUP = P_GROUP

  • HOLDDATE = FILLER8

KEEP = 'X'

USER = SY-UNAME

  • RECORD = FILLER1

  • IMPORTING

  • QID =

EXCEPTIONS

CLIENT_INVALID = 1

DESTINATION_INVALID = 2

GROUP_INVALID = 3

GROUP_IS_LOCKED = 4

HOLDDATE_INVALID = 5

INTERNAL_ERROR = 6

QUEUE_ERROR = 7

RUNNING = 8

SYSTEM_LOCK_ERROR = 9

USER_INVALID = 10

OTHERS = 11

.

IF SY-SUBRC <> 0.

WRITE 😕 'OPEN GROUP FAILED'.

STOP.

ENDIF.

*

**

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'PA40'

  • POST_LOCAL = NOVBLOCAL

  • PRINTING = NOPRINT

  • SIMUBATCH = ' '

CTUPARAMS = wa_opt

TABLES

DYNPROTAB = BDCDATA

EXCEPTIONS

INTERNAL_ERROR = 1

NOT_OPEN = 2

QUEUE_ERROR = 3

TCODE_INVALID = 4

PRINTING_INVALID = 5

POSTING_INVALID = 6

OTHERS = 7

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

**

    • CALL FUNCTION 'BDC_INSERT'

    • EXPORTING

    • TCODE = 'PA40'

    • TABLES

    • DYNPROTAB = BDCDATA

    • EXCEPTIONS

    • INTERNAL_ERROR = 1

    • NOT_OPEN = 2

    • QUEUE_ERROR = 3

    • TCODE_INVALID = 4

    • PRINTING_INVALID = 5

    • POSTING_INVALID = 6

    • OTHERS = 7.

**

**

CALL FUNCTION 'BDC_CLOSE_GROUP'

EXCEPTIONS

NOT_OPEN = 1

QUEUE_ERROR = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

WRITE 😕 'CLOSE GROUP FAILED'.

STOP.

ENDIF.

*

*perform close_group.

thanks,

maheedhar

Edited by: Alvaro Tejada Galindo on Apr 16, 2008 1:42 PM

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
680

Hi Maheedhar,

The correct way i

1) call the bdc_open_group

2) loop

populate bdcdata.......

call bdc_insert

endloop.

3) cal the bdc-close_group

Regards,

Ravi kanth Talagana

3 REPLIES 3
Read only

Former Member
0 Likes
681

Hi Maheedhar,

The correct way i

1) call the bdc_open_group

2) loop

populate bdcdata.......

call bdc_insert

endloop.

3) cal the bdc-close_group

Regards,

Ravi kanth Talagana

Read only

0 Likes
680

hi ravi,

still same problem....

Read only

mahaboob_pathan
Contributor
0 Likes
680

hi

iam sending u one sample code just go through it

u will understood.

in u r code comment call transaction while running session.

if u need both then in selection screen put radio button

and do according to it.

*********************************

REPORT ZSTEST_049 .

DATA: BEGIN OF ITAB OCCURS 0,

LIFNR(10) TYPE C,

F1(4) TYPE C,

F2(4) TYPE C,

F3(4) TYPE C,

F4(10) TYPE C,

F5(35) TYPE C,

F6(10) TYPE C,

F7(3) TYPE C,

F8(10) TYPE C,

F9(10) TYPE C,

F10(3) TYPE C,

END OF ITAB.

DATA FILE TYPE STRING.

DATA I_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

START-OF-SELECTION.

FILE = 'C:\Documents and Settings\AMS-TR1\Desktop\VENDOR.TXT'.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = FILE

FILETYPE = 'ASC'

  • HAS_FIELD_SEPARATOR = ' '

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = ITAB

EXCEPTIONS

FILE_OPEN_ERROR = 1

FILE_READ_ERROR = 2

NO_BATCH = 3

GUI_REFUSE_FILETRANSFER = 4

INVALID_TYPE = 5

NO_AUTHORITY = 6

UNKNOWN_ERROR = 7

BAD_DATA_FORMAT = 8

HEADER_NOT_ALLOWED = 9

SEPARATOR_NOT_ALLOWED = 10

HEADER_TOO_LONG = 11

UNKNOWN_DP_ERROR = 12

ACCESS_DENIED = 13

DP_OUT_OF_MEMORY = 14

DISK_FULL = 15

DP_TIMEOUT = 16

OTHERS = 17

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

END-OF-SELECTION.

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

  • DEST = FILLER8

GROUP = 'ZSTEST'

  • HOLDDATE = FILLER8

KEEP = 'X'

USER = SY-UNAME

  • RECORD = FILLER1

  • PROG = SY-CPROG

  • IMPORTING

  • QID =

  • EXCEPTIONS

  • CLIENT_INVALID = 1

  • DESTINATION_INVALID = 2

  • GROUP_INVALID = 3

  • GROUP_IS_LOCKED = 4

  • HOLDDATE_INVALID = 5

  • INTERNAL_ERROR = 6

  • QUEUE_ERROR = 7

  • RUNNING = 8

  • SYSTEM_LOCK_ERROR = 9

  • USER_INVALID = 10

  • OTHERS = 11

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

LOOP AT ITAB.

*--100

I_BDCDATA-PROGRAM = 'SAPMF02K'.

I_BDCDATA-DYNPRO = '0100'.

I_BDCDATA-DYNBEGIN = 'X'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'RF02K-LIFNR'.

I_BDCDATA-FVAL = ITAB-LIFNR.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'RF02K-BUKRS'.

I_BDCDATA-FVAL = ITAB-F1.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'RF02K-EKORG'.

I_BDCDATA-FVAL = ITAB-F2.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'RF02K-KTOKK'.

I_BDCDATA-FVAL = ITAB-F3.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'BDC_OKCODE'.

I_BDCDATA-FVAL = '/00'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

*--110

I_BDCDATA-PROGRAM = 'SAPMF02K'.

I_BDCDATA-DYNPRO = '0110'.

I_BDCDATA-DYNBEGIN = 'X'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'LFA1-ANRED'.

I_BDCDATA-FVAL = ITAB-F4.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'LFA1-NAME1'.

I_BDCDATA-FVAL = ITAB-F5.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'LFA1-SORTL'.

I_BDCDATA-FVAL = ITAB-F6.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'LFA1-LAND1'.

I_BDCDATA-FVAL = ITAB-F7.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'BDC_OKCODE'.

I_BDCDATA-FVAL = '/00'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

*--120

I_BDCDATA-PROGRAM = 'SAPMF02K'.

I_BDCDATA-DYNPRO = '0120'.

I_BDCDATA-DYNBEGIN = 'X'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'BDC_OKCODE'.

I_BDCDATA-FVAL = '/00'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

*--130

I_BDCDATA-PROGRAM = 'SAPMF02K'.

I_BDCDATA-DYNPRO = '0130'.

I_BDCDATA-DYNBEGIN = 'X'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'BDC_OKCODE'.

I_BDCDATA-FVAL = '=ENTR'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

*--210

I_BDCDATA-PROGRAM = 'SAPMF02K'.

I_BDCDATA-DYNPRO = '0210'.

I_BDCDATA-DYNBEGIN = 'X'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'LFB1-AKONT'.

I_BDCDATA-FVAL = ITAB-F8.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'LFB1-FDGRV'.

I_BDCDATA-FVAL = ITAB-F9.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'BDC_OKCODE'.

I_BDCDATA-FVAL = '/00'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

*--0215

I_BDCDATA-PROGRAM = 'SAPMF02K'.

I_BDCDATA-DYNPRO = '0215'.

I_BDCDATA-DYNBEGIN = 'X'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'BDC_OKCODE'.

I_BDCDATA-FVAL = '/00'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

*-- 220

I_BDCDATA-PROGRAM = 'SAPMF02K'.

I_BDCDATA-DYNPRO = '0220'.

I_BDCDATA-DYNBEGIN = 'X'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'BDC_OKCODE'.

I_BDCDATA-FVAL = '/00'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

*--310

I_BDCDATA-PROGRAM = 'SAPMF02K'.

I_BDCDATA-DYNPRO = '0310'.

I_BDCDATA-DYNBEGIN = 'X'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'LFM1-WAERS'.

I_BDCDATA-FVAL = ITAB-F10.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'BDC_OKCODE'.

I_BDCDATA-FVAL = '/00'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

*--0320

I_BDCDATA-PROGRAM = 'SAPMF02K'.

I_BDCDATA-DYNPRO = '0320'.

I_BDCDATA-DYNBEGIN = 'X'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'BDC_OKCODE'.

I_BDCDATA-FVAL = '=ENTR'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

*--330

I_BDCDATA-PROGRAM = 'SAPLSPO1'.

I_BDCDATA-DYNPRO = '0330'.

I_BDCDATA-DYNBEGIN = 'X'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

I_BDCDATA-FNAM = 'BDC_OKCODE'.

I_BDCDATA-FVAL = '=YES'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

*--SESSION

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'XK01'

  • POST_LOCAL = NOVBLOCAL

  • PRINTING = NOPRINT

  • SIMUBATCH = ' '

  • CTUPARAMS = ' '

TABLES

DYNPROTAB = I_BDCDATA

  • EXCEPTIONS

  • INTERNAL_ERROR = 1

  • NOT_OPEN = 2

  • QUEUE_ERROR = 3

  • TCODE_INVALID = 4

  • PRINTING_INVALID = 5

  • POSTING_INVALID = 6

  • OTHERS = 7

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

REFRESH I_BDCDATA.

ENDLOOP.

CALL FUNCTION 'BDC_CLOSE_GROUP'

  • EXCEPTIONS

  • NOT_OPEN = 1

  • QUEUE_ERROR = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

WRITE:/ 'Session created..'.