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

bdc

Former Member
1 ACCEPTED SOLUTION
Read only

raja_thangamani
Active Contributor
0 Likes
486

HI,

Here is the sample code..


REPORT ZVA02 .


data : bdcmsg like bdcmsgcoll occurs 0 with header line.
data : bdcdata like bdcdata  occurs 0 with header line.
data : v_msg(200).

perform va02 using :
      'SAPMV45A' '0102' 'X' '' '',
      'SAPMV45A' '0102' '' 'BDC_CURSOR' 'VBAK-VBELN',
      'SAPMV45A' '0102' '' 'VBAK-VBELN' '30000044',
      'SAPMV45A' '0102' '' 'BDC_OKCODE' '/00',

      'SAPMV45A' '4001' 'X' '' '',
      'SAPMV45A' '4001' '' 'BDC_OKCODE' '=POPO',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_CURSOR' 'RV45A-MABNR(01)',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',

      'SAPMV45A' '0251' 'X' '' '',
      'SAPMV45A' '0251' '' 'BDC_CURSOR' 'RV45A-POSNR',
      'SAPMV45A' '0251' '' 'BDC_OKCODE' '=POSI',
      'SAPMV45A' '0251' '' 'RV45A-POSNR' '20',


      'SAPMV45A' '4001' 'X' '' '',
      'SAPMV45A' '4001' '' 'BDC_OKCODE' '=ITEM',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_CURSOR' 'RV45A-MABNR(01)',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',

      'SAPMV45A' '4003' 'X' '' '',
      'SAPMV45A' '4003' '' 'BDC_OKCODE' '=T05',
      'SAPMV45A' '4003' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4003' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4003' '' 'BDC_CURSOR' 'RV45A-KWMENG',

      'SAPLV60F' '4001' 'X' '' '',
      'SAPLV60F' '4001' '' 'BDC_OKCODE' '=SBACK',
      'SAPLV60F' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPLV60F' '4001' '' 'BDC_SUBSCR' 'SAPLV60F',
      'SAPLV60F' '4001' '' 'BDC_CURSOR' 'FPLT-AFDAT(01)',
      'SAPLV60F' '4001' '' 'FPLT-AFDAT(01)' '21.04.2004',

      'SAPMV45A' '4001' 'X' '' '',
      'SAPMV45A' '4001' '' 'BDC_OKCODE' '=SICH',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_CURSOR' 'RV45A-MABNR(01)',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A'.


call transaction 'VA02' using bdcdata mode 'N' update 'A' messages into

bdcmsg.

if sy-subrc ne 0.

loop at bdcmsg where msgtyp = 'E'.

Write: ' Sale Order is being Processed by' , bdcmsg-msgv2.

endloop.
endif.

form va02 using prg dyn beg fname fvalue.

bdcdata-program = prg.

bdcdata-DYNPRO = dyn.

bdcdata-DYNBEGIN = beg.

bdcdata-FNAM = fname.
bdcdata-FVAL = fvalue.
append bdcdata.
endform.


3 REPLIES 3
Read only

raja_thangamani
Active Contributor
0 Likes
487

HI,

Here is the sample code..


REPORT ZVA02 .


data : bdcmsg like bdcmsgcoll occurs 0 with header line.
data : bdcdata like bdcdata  occurs 0 with header line.
data : v_msg(200).

perform va02 using :
      'SAPMV45A' '0102' 'X' '' '',
      'SAPMV45A' '0102' '' 'BDC_CURSOR' 'VBAK-VBELN',
      'SAPMV45A' '0102' '' 'VBAK-VBELN' '30000044',
      'SAPMV45A' '0102' '' 'BDC_OKCODE' '/00',

      'SAPMV45A' '4001' 'X' '' '',
      'SAPMV45A' '4001' '' 'BDC_OKCODE' '=POPO',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_CURSOR' 'RV45A-MABNR(01)',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',

      'SAPMV45A' '0251' 'X' '' '',
      'SAPMV45A' '0251' '' 'BDC_CURSOR' 'RV45A-POSNR',
      'SAPMV45A' '0251' '' 'BDC_OKCODE' '=POSI',
      'SAPMV45A' '0251' '' 'RV45A-POSNR' '20',


      'SAPMV45A' '4001' 'X' '' '',
      'SAPMV45A' '4001' '' 'BDC_OKCODE' '=ITEM',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_CURSOR' 'RV45A-MABNR(01)',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',

      'SAPMV45A' '4003' 'X' '' '',
      'SAPMV45A' '4003' '' 'BDC_OKCODE' '=T05',
      'SAPMV45A' '4003' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4003' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4003' '' 'BDC_CURSOR' 'RV45A-KWMENG',

      'SAPLV60F' '4001' 'X' '' '',
      'SAPLV60F' '4001' '' 'BDC_OKCODE' '=SBACK',
      'SAPLV60F' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPLV60F' '4001' '' 'BDC_SUBSCR' 'SAPLV60F',
      'SAPLV60F' '4001' '' 'BDC_CURSOR' 'FPLT-AFDAT(01)',
      'SAPLV60F' '4001' '' 'FPLT-AFDAT(01)' '21.04.2004',

      'SAPMV45A' '4001' 'X' '' '',
      'SAPMV45A' '4001' '' 'BDC_OKCODE' '=SICH',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A',
      'SAPMV45A' '4001' '' 'BDC_CURSOR' 'RV45A-MABNR(01)',
      'SAPMV45A' '4001' '' 'BDC_SUBSCR' 'SAPMV45A'.


call transaction 'VA02' using bdcdata mode 'N' update 'A' messages into

bdcmsg.

if sy-subrc ne 0.

loop at bdcmsg where msgtyp = 'E'.

Write: ' Sale Order is being Processed by' , bdcmsg-msgv2.

endloop.
endif.

form va02 using prg dyn beg fname fvalue.

bdcdata-program = prg.

bdcdata-DYNPRO = dyn.

bdcdata-DYNBEGIN = beg.

bdcdata-FNAM = fname.
bdcdata-FVAL = fvalue.
append bdcdata.
endform.


Read only

Former Member
0 Likes
486

HI ,

TYPES : BEGIN OF STRUCT ,

MATNR TYPE RMMG1-MATNR ,

END OF STRUCT.

DATA :W_GRPID TYPE APQI-GROUPID .

DATA :IT_MARA TYPE TABLE OF STRUCT WITH HEADER LINE,

IT_BDCDATA TYPE TABLE OF BDCDATA WITH HEADER LINE,

GT_CNT TYPE MARA-BISMT .

initialization.

SELECT MATNR

FROM MARA

INTO CORRESPONDING FIELDS OF TABLE IT_MARA

up to 10 rows

WHERE MTART = 'HAWA'.

W_GRPID = 'SESSION-ID'.

START-OF-SELECTION.

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

GROUP = W_GRPID

KEEP = 'X'

USER = SY-UNAME.

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 IT_MARA.

GT_CNT = GT_CNT + 1.

PERFORM : F001-BDC_A USING 'SAPLMGMM' '0060' 'X',

F002-BDC_B USING 'RMMG1-MATNR' IT_MARA-MATNR ,

F002-BDC_B USING 'BDC_OKCODE' '/00',

F001-BDC_A USING 'SAPLMGMM' '0070' 'X',

F002-BDC_B USING 'MSICHTAUSW-KZSEL(01)' 'X' ,

F002-BDC_B USING 'MSICHTAUSW-KZSEL(02)' 'X' ,

F002-BDC_B USING 'BDC_OKCODE' '=ENTR',

F001-BDC_A USING 'SAPLMGMM' '4004' 'X',

F002-BDC_B USING 'MARA-BISMT' GT_CNT ,

F002-BDC_B USING 'BDC_OKCODE' '=BU',

F003-BDC_C USING 'MM02'.

ENDLOOP.

CALL FUNCTION 'BDC_CLOSE_GROUP' .

IF SY-SUBRC <> 0.

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

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

ENDIF..

&----


*& Form F001-BDC_A

&----


  • text

----


  • -->PROGRAM text

  • -->DYNPRO text

  • -->DYNBEG text

----


FORM F001-BDC_A USING program dynpro dynbeg.

IT_BDCDATA-PROGRAM = PROGRAM.

IT_BDCDATA-dynpro = DYNPRO.

IT_BDCDATA-dynbegin = DYNBEG.

APPEND IT_BDCDATA .

CLEAR IT_BDCDATA.

ENDFORM. "F001-BDC_A

&----


*& Form F002-BDC_B

&----


  • text

----


  • -->FNAM text

  • -->FVAL text

----


FORM F002-BDC_B USING FNAM FVAL .

IT_BDCDATA-FNAM = FNAM .

IT_BDCDATA-FVAL = FVAL.

APPEND IT_BDCDATA .

CLEAR IT_BDCDATA.

ENDFORM. "F002-BDC_B

&----


*& Form F003-BDC_C

&----


  • text

----


  • -->P_0124 text

----


FORM F003-BDC_C USING TRCODE.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = TRCODE

TABLES

DYNPROTAB = IT_BDCDATA.

REFRESH IT_BDCDATA.

Read only

Former Member
0 Likes
486

hi

good

use INCLUDE pogram statement to call BDC program into your report

thanks

mrutyun^