06-25-2008 9:49 PM
Hi Everybody,
how to populate BDCDATA table without using the form .
FORM DYNPRO_PROCESS2 USING DYNBEGIN FLD1 FLD2. "#EC *
IF DYNBEGIN = 'X' .
CLEAR WA_BDCDATA .
MOVE: DYNBEGIN TO WA_BDCDATA-DYNBEGIN ,
FLD1 TO WA_BDCDATA-PROGRAM ,
FLD2 TO WA_BDCDATA-DYNPRO.
APPEND WA_BDCDATA TO TB_BDCDATA.
ELSE.
CLEAR WA_BDCDATA .
MOVE: FLD1 TO WA_BDCDATA-FNAM ,
FLD2 TO WA_BDCDATA-FVAL .
APPEND WA_BDCDATA TO TB_BDCDATA.
ENDIF.
ENDFORM. "DYNPRO_PROCESS
Please help.
Thank you.
06-25-2008 10:16 PM
Check this example:
REPORT ZMUTVD01 .
tables: RF02D,ADDR1_DATA,KNVV,KNVI,KNA1.
DATA ITAB1 LIKE KNVI OCCURS 10 WITH HEADER LINE.
data : bdcitab like bdcdata occurs 99 with header line.
data : begin of wa,
ktokd like RF02D-KTOKD,
vkorg like RF02D-VKORG,
vtweg like RF02D-VTWEG,
spart like RF02D-SPART,
LAND1 LIKE KNA1-LAND1,
SPRAS LIKE KNA1-SPRAS,
vsbed like KNVV-VSBED,
taxkd like KNVI-TAXKD,
end of wa.
data : itab like wa occurs 12 with header line .
CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME = 'C:/VD01.TXT'
FILETYPE = 'ASC'
TABLES
DATA_TAB = ITAB
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
first screen *************
loop at itab.
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '107'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
*********FIELDS****
BDCITAB-FNAM = 'RF02D-KTOKD'.
BDCITAB-FVAL = ITAB-KTOKD.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'RF02D-VKORG'.
BDCITAB-FVAL = ITAB-VKORG.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'RF02D-VTWEG'.
BDCITAB-FVAL = ITAB-VTWEG.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'RF02D-SPART'.
BDCITAB-FVAL = ITAB-SPART.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
*************2ND **********
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '110'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'KNA1-LAND1'.
BDCITAB-FVAL = ITAB-LAND1.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'KNA1-SPRAS'.
BDCITAB-FVAL = ITAB-SPRAS.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
********3rd *****************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '120'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
***********4thD **********
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '125'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
***5TH *************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '340'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
*****6TH*******************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '370'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
************7TH *********************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '360'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
******8TH **************************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '310'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
************9TH ***********************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '315'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'KNVV-VSBED'.
BDCITAB-FVAL = ITAB-VSBED.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
*************10TH ***************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '320'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
***************11TH ******************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '1350'.
bdcitab-dynbegin = 'X'.
APPEND BDCITAB.
CLEAR BDCITAB.
*BDCITAB-FNAM = 'KNVI-TAXKD'.
*BDCITAB-FVAL = '0'.
*APPEND BDCITAB.
*CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
*BDCITAB-FNAM = 'BDC_OKCODE'.
*BDCITAB-FVAL = 'ENTER'.
*APPEND BDCITAB.
*CLEAR BDCITAB.
*************11TH*************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '324'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
CALL TRANSACTION 'VD01' USING BDCITAB MODE 'A'.
ENDLOOP.
06-25-2008 10:00 PM
Paste the code inside the form -endform in place of the perform DYNPRO_PROCESS2 statement.
Regards,
ravi
06-25-2008 10:16 PM
Check this example:
REPORT ZMUTVD01 .
tables: RF02D,ADDR1_DATA,KNVV,KNVI,KNA1.
DATA ITAB1 LIKE KNVI OCCURS 10 WITH HEADER LINE.
data : bdcitab like bdcdata occurs 99 with header line.
data : begin of wa,
ktokd like RF02D-KTOKD,
vkorg like RF02D-VKORG,
vtweg like RF02D-VTWEG,
spart like RF02D-SPART,
LAND1 LIKE KNA1-LAND1,
SPRAS LIKE KNA1-SPRAS,
vsbed like KNVV-VSBED,
taxkd like KNVI-TAXKD,
end of wa.
data : itab like wa occurs 12 with header line .
CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME = 'C:/VD01.TXT'
FILETYPE = 'ASC'
TABLES
DATA_TAB = ITAB
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
first screen *************
loop at itab.
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '107'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
*********FIELDS****
BDCITAB-FNAM = 'RF02D-KTOKD'.
BDCITAB-FVAL = ITAB-KTOKD.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'RF02D-VKORG'.
BDCITAB-FVAL = ITAB-VKORG.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'RF02D-VTWEG'.
BDCITAB-FVAL = ITAB-VTWEG.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'RF02D-SPART'.
BDCITAB-FVAL = ITAB-SPART.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
*************2ND **********
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '110'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'KNA1-LAND1'.
BDCITAB-FVAL = ITAB-LAND1.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'KNA1-SPRAS'.
BDCITAB-FVAL = ITAB-SPRAS.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
********3rd *****************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '120'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
***********4thD **********
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '125'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
***5TH *************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '340'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
*****6TH*******************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '370'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
************7TH *********************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '360'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
******8TH **************************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '310'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
************9TH ***********************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '315'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'KNVV-VSBED'.
BDCITAB-FVAL = ITAB-VSBED.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
*************10TH ***************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '320'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
***************11TH ******************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '1350'.
bdcitab-dynbegin = 'X'.
APPEND BDCITAB.
CLEAR BDCITAB.
*BDCITAB-FNAM = 'KNVI-TAXKD'.
*BDCITAB-FVAL = '0'.
*APPEND BDCITAB.
*CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
*BDCITAB-FNAM = 'BDC_OKCODE'.
*BDCITAB-FVAL = 'ENTER'.
*APPEND BDCITAB.
*CLEAR BDCITAB.
*************11TH*************
bdcitab-program = 'SAPMF02D'.
bdcitab-dynpro = '324'.
bdcitab-dynbegin ='X'.
APPEND BDCITAB.
CLEAR BDCITAB.
BDCITAB-FNAM = 'BDC_OKCODE'.
BDCITAB-FVAL = 'ENTER'.
APPEND BDCITAB.
CLEAR BDCITAB.
CALL TRANSACTION 'VD01' USING BDCITAB MODE 'A'.
ENDLOOP.