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

help immediately

Former Member
0 Likes
668

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.

3 REPLIES 3
Read only

Former Member
0 Likes
620

try with ITAB-WRKST+0(1) ne '/'.

Read only

Former Member
0 Likes
620

Hi Girish

have you checked the value in itab-werks.

regards

kishore

Read only

Former Member
0 Likes
620

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.