‎2006 Feb 27 3:30 PM
Hi every one,
iam sending my BDC code. i have a doubt in this that if iam taking the forward slash(/) in the flat file for the field WRKST. For this the value has to be displayed as 'ST60' for which i have created Material as Steel Material. But it is not showing correct why i dont know.
can any one please help me guys.I was struck with that.
Thanks to all.
report ZMATMASNEW
no standard page heading line-size 255.
DATA : BEGIN OF ITAB OCCURS 0,
MATNR LIKE RMMG1-MATNR,
MBRSH LIKE RMMG1-MBRSH,
MTART LIKE RMMG1-MTART,
MAKTX LIKE MAKT-MAKTX,
MEINS LIKE MARA-MEINS,
MATKL LIKE MARA-MATKL,
BISMT LIKE MARA-BISMT,
SPART LIKE MARA-SPART,
LABOR LIKE MARA-LABOR,
KOSCH LIKE MARA-KOSCH,
BRGEW LIKE MARA-BRGEW,
GEWEI LIKE MARA-GEWEI,
NTGEW LIKE MARA-NTGEW,
VOLUM LIKE MARA-VOLUM,
VOLEH LIKE MARA-VOLEH,
GROES LIKE MARA-GROES,
WRKST LIKE MARA-WRKST,
ZEINR LIKE MARA-ZEINR,
ZEIVR LIKE MARA-ZEIVR,
AESZN LIKE MARA-AESZN,
ZEIFO LIKE MARA-ZEIFO,
END OF ITAB.
DATA : BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
CODEPAGE = ' '
FILENAME = 'C:\MATMAS1.TXT'
FILETYPE = 'DAT'
HEADLEN = ' '
LINE_EXIT = ' '
TRUNCLEN = ' '
USER_FORM = ' '
USER_PROG = ' '
DAT_D_FORMAT = ' '
IMPORTING
FILELENGTH =
TABLES
data_tab = ITAB
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
NO_AUTHORITY = 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.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
DEST = FILLER8
GROUP = 'MM_GUN'
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.
REFRESH BDCTAB.
PERFORM BDC.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'MM02'
POST_LOCAL = NOVBLOCAL
PRINTING = NOPRINT
SIMUBATCH = ' '
CTUPARAMS = ' '
TABLES
dynprotab = BDCTAB
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.
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.
*include bdcrecx1.
*
*start-of-selection.
*
*perform open_group.
*
*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'
'CASTIRON1'.
*perform bdc_dynpro using 'SAPLMGMM' '0070'.
*perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(02)'.
*perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
*perform bdc_field using 'MSICHTAUSW-KZSEL(01)'
'X'.
*perform bdc_field using 'MSICHTAUSW-KZSEL(02)'
'X'.
*perform bdc_dynpro using 'SAPLMGMM' '4004'.
*perform bdc_field using 'BDC_OKCODE'
'/00'.
*perform bdc_field using 'MAKT-MAKTX'
'CASTING ITEMS NEW MAT'.
*perform bdc_field using 'BDC_CURSOR'
'MARA-MEINS'.
*perform bdc_field using 'MARA-MEINS'
'CM'.
*perform bdc_field using 'MARA-MATKL'
'001'.
*perform bdc_field using 'MARA-BISMT'
'CASTINGS'.
*perform bdc_field using 'MARA-SPART'
'00'.
*perform bdc_field using 'MARA-LABOR'
'001'.
*perform bdc_field using 'MARA-KOSCH'
'BULBS'.
*perform bdc_field using 'MARA-BRGEW'
'9'.
*perform bdc_field using 'MARA-GEWEI'
'KG'.
*perform bdc_field using 'MARA-NTGEW'
'9'.
*perform bdc_field using 'MARA-VOLUM'
'1.000'.
*perform bdc_field using 'MARA-VOLEH'
'CCM'.
*perform bdc_field using 'MARA-GROES'
'2'.
*perform bdc_dynpro using 'SAPLMGMM' '4004'.
*perform bdc_field using 'BDC_OKCODE'
'=BU'.
*perform bdc_field using 'MAKT-MAKTX'
'CASTING ITEMS NEW MAT'.
*perform bdc_field using 'BDC_CURSOR'
'MARA-WRKST'.
*perform bdc_field using 'MARA-WRKST'
'St60'.
*perform bdc_field using 'MARA-ZEINR'
'MATERIAL'.
*perform bdc_field using 'MARA-ZEIVR'
'2'.
*perform bdc_field using 'MARA-AESZN'
'100'.
*perform bdc_field using 'MARA-ZEIFO'
'1000'.
*perform bdc_transaction using 'MM02'.
*
*perform close_group.
FORM BDC.
BDCTAB-PROGRAM = 'SAPLMGMM'.
BDCTAB-DYNPRO = '0060'.
BDCTAB-DYNBEGIN = 'X'.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'RMMG1-MATNR'.
BDCTAB-FVAL = ITAB-MATNR.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'BDC_OKCODE'.
BDCTAB-FVAL = '/00'.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-PROGRAM = 'SAPLMGMM'.
BDCTAB-DYNPRO = '0070'.
BDCTAB-DYNBEGIN = 'X'.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MSICHTAUSW-KZSEL(01)'.
BDCTAB-FVAL = 'X'.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MSICHTAUSW-KZSEL(02)'.
BDCTAB-FVAL = 'X'.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'BDC_OKCODE'.
BDCTAB-FVAL = '=ENTR'.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-PROGRAM = 'SAPLMGMM'.
BDCTAB-DYNPRO = '4004'.
BDCTAB-DYNBEGIN = 'X'.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MAKT-MAKTX'.
BDCTAB-FVAL = ITAB-MAKTX.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-MEINS'.
BDCTAB-FVAL = ITAB-MEINS.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-MATKL'.
BDCTAB-FVAL = ITAB-MATKL.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-BISMT'.
BDCTAB-FVAL = ITAB-BISMT.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-SPART'.
BDCTAB-FVAL = ITAB-SPART.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-LABOR'.
BDCTAB-FVAL = ITAB-LABOR.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-KOSCH'.
BDCTAB-FVAL = ITAB-KOSCH.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-BRGEW'.
BDCTAB-FVAL = ITAB-BRGEW.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-GEWEI'.
BDCTAB-FVAL = ITAB-GEWEI.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-NTGEW'.
BDCTAB-FVAL = ITAB-NTGEW.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-VOLUM'.
BDCTAB-FVAL = ITAB-VOLUM.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-VOLEH'.
BDCTAB-FVAL = ITAB-VOLEH.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-GROES'.
BDCTAB-FVAL = ITAB-GROES.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'BDC_OKCODE'.
BDCTAB-FVAL = '/00'.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-PROGRAM = 'SAPLMGMM'.
BDCTAB-DYNPRO = '4004'.
BDCTAB-DYNBEGIN = 'X'.
APPEND BDCTAB.
CLEAR BDCTAB.
IF ITAB-WRKST NE '/'.
BDCTAB-FNAM = 'MARA-WRKST'.
BDCTAB-FVAL = 'ST60'.
APPEND BDCTAB.
CLEAR BDCTAB.
ENDIF.
BDCTAB-FNAM = 'MARA-ZEINR'.
BDCTAB-FVAL = ITAB-ZEINR.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-ZEIVR'.
BDCTAB-FVAL = ITAB-ZEIVR.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-AESZN'.
BDCTAB-FVAL = ITAB-AESZN.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'MARA-ZEIFO'.
BDCTAB-FVAL = ITAB-ZEIFO.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'BDC_OKCODE'.
BDCTAB-FVAL = '/00'.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-PROGRAM = 'SAPLSP01'.
BDCTAB-DYNPRO = '0030'.
BDCTAB-DYNBEGIN = 'X'.
APPEND BDCTAB.
CLEAR BDCTAB.
BDCTAB-FNAM = 'BDC_OKCODE'.
BDCTAB-FVAL = '=YES'.
APPEND BDCTAB.
CLEAR BDCTAB.
ENDFORM.
‎2006 Feb 27 3:35 PM
‎2006 Feb 27 3:38 PM
Hi Girish
have you checked the value in itab-werks.
regards
kishore
‎2006 Feb 27 3:50 PM
i think u should check with equal to(eq) rather than ne.
IF ITAB-WRKST EQ '/'.
BDCTAB-FNAM = 'MARA-WRKST'.
BDCTAB-FVAL = 'ST60'.
APPEND BDCTAB.
CLEAR BDCTAB.
ENDIF.