‎2006 Dec 12 3:32 AM
‎2006 Dec 12 3:46 AM
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.
‎2006 Dec 12 3:46 AM
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.
‎2006 Dec 12 3:54 AM
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.
‎2006 Dec 12 4:01 AM
hi
good
use INCLUDE pogram statement to call BDC program into your report
thanks
mrutyun^