Hello i am getting my BDc code syntactically correct but, when i am executeing the code system is asking for the input rather than taking from the flatfile.
This is in my SE38 whole code....
please help me to achieve this...
TYPES: BEGIN OF TY_STU,
MATNR LIKE RMMG1-MATNR, "MATERIAL NUMBER"
MBRSH LIKE RMMG1-MBRSH, "INDUSTRY SECTOR"
MTART LIKE RMMG1-MTART, "MATERIAL TYPE"
WERKS LIKE RMMG1-WERKS, "PLANT"
LGORT LIKE RMMG1-LGORT, "STROAGE LOCATION"
MAKTX LIKE MAKT-MAKTX, "DESCRIPTION"
MEINS LIKE MARA-MEINS, "BUM"
MATKL LIKE MARA-MATKL, "MATERIAL GROUP"
EKGRP LIKE MARC-EKGRP, "PURCHASE GROUP"
DISMM LIKE MARC-DISMM, "MRP TYPE"
DISPO LIKE MARC-DISPO, "MRP CONTROLLER"
DISLS LIKE MARC-DISLS, "LOT SIZE"
PLIFZ LIKE MARC-PLIFZ, "PLANNED DELIVERY TIME"
FHORI LIKE MARC-FHORI, "SCHEDULING MARGIN KEY"
BKLAS LIKE MBEW-BKLAS, "VALUATION CLASS"
VPRSV LIKE MBEW-VPRSV, "PRICE CONTROL"
PEINH LIKE MBEW-PEINH, "PRICE UNIT"
VERPR LIKE MBEW-VERPR, "MOVING PRICE"
END OF TY_STU.
INTERNAL TABLE & WORKAREA DECLARATION
DATA : T_UPLOAD TYPE STANDARD TABLE OF TY_STU INITIAL SIZE 0,
T_BDCDATA TYPE STANDARD TABLE OF BDCDATA INITIAL SIZE 0,
T_BDCMSGCOLL TYPE STANDARD TABLE OF BDCMSGCOLL INITIAL SIZE 0,
W_UPLOAD TYPE TY_STU,
BDCDATA TYPE BDCDATA,
W_BDCMSGCOLL TYPE BDCMSGCOLL,
G_MESSAGE TYPE C.
DATA : G_FILE TYPE string.
----
SELECTION SCREEN
----
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
PARAMETERS : p_file LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN END OF BLOCK blk1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
g_file = p_file.
start-of-selection.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = g_file
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = T_UPLOAD
.
IF SY-SUBRC <> 0.
ENDIF.
LOOP AT T_UPLOAD INTO W_UPLOAD.
REFRESH T_BDCDATA.
perform bdc_dynpro using 'SAPLMGMM' '0060'.
perform bdc_field using 'BDC_CURSOR'
'RMMG1-MATNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RMMG1-MATNR'
W_UPLOAD-MATNR.
perform bdc_field using 'RMMG1-MBRSH'
W_UPLOAD-MBRSH.
perform bdc_field using 'RMMG1-MTART'
W_UPLOAD-MTART.
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(14)'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
*perform bdc_field using 'MSICHTAUSW-KZSEL(01)'
W_UPLOAD-KZSEL_01_004.
*perform bdc_field using 'MSICHTAUSW-KZSEL(02)'
W_UPLOAD-KZSEL_02_005.
*perform bdc_field using 'MSICHTAUSW-KZSEL(09)'
W_UPLOAD-KZSEL_09_006.
*perform bdc_field using 'MSICHTAUSW-KZSEL(12)'
W_UPLOAD-KZSEL_12_007.
*perform bdc_field using 'MSICHTAUSW-KZSEL(13)'
W_UPLOAD-KZSEL_13_008.
*perform bdc_field using 'MSICHTAUSW-KZSEL(14)'
W_UPLOAD-KZSEL_14_009.
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(16)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
*perform bdc_field using 'MSICHTAUSW-KZSEL(16)'
W_UPLOAD-KZSEL_16_010.
perform bdc_dynpro using 'SAPLMGMM' '0080'.
perform bdc_field using 'BDC_CURSOR'
'RMMG1-LGORT'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'RMMG1-WERKS'
W_UPLOAD-WERKS.
perform bdc_field using 'RMMG1-LGORT'
W_UPLOAD-LGORT.
perform bdc_dynpro using 'SAPLMGMM' '4004'.
perform bdc_field using 'BDC_OKCODE'
'=SP09'.
perform bdc_field using 'MAKT-MAKTX'
W_UPLOAD-MAKTX.
perform bdc_field using 'BDC_CURSOR'
'MARA-MATKL'.
perform bdc_field using 'MARA-MEINS'
W_UPLOAD-MEINS.
perform bdc_field using 'MARA-MATKL'
W_UPLOAD-MATKL.
*perform bdc_field using 'MARA-MTPOS_MARA'
record-MTPOS_MARA_016.
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=SP12'.
perform bdc_field using 'MAKT-MAKTX'
W_UPLOAD-MAKTX.
perform bdc_field using 'BDC_CURSOR'
'MARC-EKGRP'.
perform bdc_field using 'MARA-MEINS'
W_UPLOAD-MEINS.
perform bdc_field using 'MARC-EKGRP'
W_UPLOAD-EKGRP.
perform bdc_field using 'MARA-MATKL'
W_UPLOAD-MATKL.
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'SP13'.
perform bdc_field using 'MAKT-MAKTX'
W_UPLOAD-MAKTX.
perform bdc_field using 'MARA-MEINS'
W_UPLOAD-MEINS.
perform bdc_field using 'MARC-EKGRP'
W_UPLOAD-EKGRP.
perform bdc_field using 'MARC-DISMM'
W_UPLOAD-DISMM.
perform bdc_field using 'MARC-DISPO'
W_UPLOAD-DISPO.
perform bdc_field using 'BDC_CURSOR'
'MARC-DISLS'.
perform bdc_field using 'MARC-DISLS'
W_UPLOAD-DISLS.
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=SP24'.
perform bdc_field using 'MAKT-MAKTX'
W_UPLOAD-MAKTX.
perform bdc_field using 'BDC_CURSOR'
'MARC-FHORI'.
perform bdc_field using 'MARC-PLIFZ'
W_UPLOAD-PLIFZ.
perform bdc_field using 'MARC-FHORI'
W_UPLOAD-FHORI.
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'MAKT-MAKTX'
W_UPLOAD-MAKTX.
perform bdc_field using 'MARA-MEINS'
W_UPLOAD-MEINS.
perform bdc_field using 'BDC_CURSOR'
'MBEW-VERPR'.
perform bdc_field using 'MBEW-BKLAS'
W_UPLOAD-BKLAS.
perform bdc_field using 'MBEW-VPRSV'
W_UPLOAD-VPRSV.
perform bdc_field using 'MBEW-PEINH'
W_UPLOAD-PEINH.
perform bdc_field using 'MBEW-VERPR'
W_UPLOAD-VERPR.
*perform bdc_transaction using 'MM01'.
CALL TRANSACTION 'MM01' USING T_BDCDATA MODE 'A' update 'S' MESSAGES
INTO T_BDCMSGCOLL.
CLEAR W_BDCMSGCOLL.
READ TABLE T_BDCMSGCOLL INTO W_BDCMSGCOLL INDEX 1.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = SY-MSGID
LANG = '-D'
NO = SY-MSGNO
V1 = SY-MSGV1
V2 = SY-MSGV2
V3 = SY-MSGV3
V4 = SY-MSGV4
IMPORTING
MSG = G_MESSAGE
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2
.
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 : / G_MESSAGE.
REFRESH T_BDCMSGCOLL.
ENDLOOP.
*enddo.
*
*perform close_group.
*perform close_dataset using dataset.
----
Start new screen *
----
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA TO T_BDCDATA.
CLEAR bdcdata.
ENDFORM.
----
Insert field *
----
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> NODATA.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA TO T_BDCDATA.
ENDIF.
ENDFORM.
Thks