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

URGENT: BDC problem small one

Former Member
0 Likes
428

hi everybody

I am new to BDC and I have created a BDC for MM01. It is working well. I am using it by call transaction method. But my problem is this when the last material is created it is good but it does not stop and starts the next material creation and every time when i run the bdc it will waste a material number.

and please tell me the code to stop the bdc in each method and to move to next method

follwoing is the bdc code.

report ZDEMO_ZCON

no standard page heading line-size 255.

data: begin of record OCCURS 0,

  • MATNR(018),

  • MBRSH_001(001),

  • MTART_002(004),

  • WERKS_015(004),

MAKTX(040),

MEINS(003),

MATKL(009),

  • BISMT(18),

  • EXTWG(18),

EKGRP(003),

  • XCHPF_025(001),

WEBAZ(003),

DISGR(004),

  • DISMM_030(002),

  • MINBE(18),

DISPO(003),

  • DISLS(002),

  • MABST(18),

  • SOBSL(2),

  • PLIFZ_034(003),

  • FHORI_036(003),

  • MTVFP_039(002),

BKLAS(004),

END OF RECORD.

include bdcrecx1.

start-of-selection.

CALL FUNCTION 'UPLOAD'

EXPORTING

  • CODEPAGE = ' '

FILENAME = 'C:\BOOKS3' " Name of the tab delimited flat file on desktop

FILETYPE = 'DAT'

  • ITEM = ' '

  • FILEMASK_MASK = ' '

  • FILEMASK_TEXT = ' '

  • FILETYPE_NO_CHANGE = ' '

  • FILEMASK_ALL = ' '

  • FILETYPE_NO_SHOW = ' '

  • LINE_EXIT = ' '

  • USER_FORM = ' '

  • USER_PROG = ' '

  • SILENT = 'S'

  • IMPORTING

  • FILESIZE =

  • CANCEL =

  • ACT_FILENAME =

  • ACT_FILETYPE =

TABLES

data_tab = record " Name of internal table with data.

  • EXCEPTIONS

  • CONVERSION_ERROR = 1

  • INVALID_TABLE_WIDTH = 2

  • INVALID_TYPE = 3

  • NO_BATCH = 4

  • UNKNOWN_ERROR = 5

  • GUI_REFUSE_FILETRANSFER = 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.

.

perform open_group.

LOOP AT RECORD.

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-MBRSH'

'M'.

perform bdc_field using 'RMMG1-MTART'

'ZCON'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(13)'.

perform bdc_field using 'BDC_OKCODE'

'=P+'.

perform bdc_field using 'MSICHTAUSW-KZSEL(01)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(09)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(12)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(13)'

'X'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(08)'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'MSICHTAUSW-KZSEL(04)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(05)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(06)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(07)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(08)'

'X'.

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'

'MFPL'.

perform bdc_field using 'RMMG1-LGORT'

'ccon'.

perform bdc_dynpro using 'SAPLMGMM' '4004'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'BDC_CURSOR'

'MARA-MATKL'.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARA-MATKL'

record-matKl.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'BDC_CURSOR'

'MARC-EKGRP'.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-EKGRP'

record-ekgrp.

perform bdc_field using 'MARA-MATKL'

record-matkl.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'BDC_CURSOR'

'MARC-DISGR'.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-DISGR'

record-disgr.

perform bdc_field using 'MARC-EKGRP'

record-ekgrp.

perform bdc_field using 'MARC-DISMM'

'ND'.

perform bdc_field using 'MARC-DISPO'

record-dispo.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'BDC_CURSOR'

'MARC-WEBAZ'.

perform bdc_field using 'MARC-WEBAZ'

record-webaz.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=PB01'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-WEBAZ'

record-webaz.

perform bdc_dynpro using 'SAPLQPLS' '0100'.

perform bdc_field using 'BDC_CURSOR'

'RMQAM-ARGUMENT'.

perform bdc_field using 'BDC_OKCODE'

'=NEU'.

perform bdc_dynpro using 'SAPLQPLS' '0100'.

perform bdc_field using 'BDC_CURSOR'

'RMQAM-AKTIV(01)'.

perform bdc_field using 'BDC_OKCODE'

'=WEIT'.

perform bdc_field using 'RMQAM-ART(01)'

'ZCON'.

perform bdc_field using 'RMQAM-APA(01)'

'X'.

perform bdc_field using 'RMQAM-AKTIV(01)'

'X'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-WEBAZ'

record-webaz.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MBEW-BKLAS'

record-bklas.

perform bdc_field using 'MBEW-VPRSV'

'V'.

perform bdc_field using 'MBEW-PEINH'

'1'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-LOSGR'

'1'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MBEW-BKLAS'

record-bklas.

perform bdc_field using 'MBEW-VPRSV'

'V'.

perform bdc_field using 'MBEW-PEINH'

'1'.

perform bdc_dynpro using 'SAPLSPO1' '0300'.

perform bdc_field using 'BDC_OKCODE'

'=YES'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARC-PERKZ'

'M'.

perform bdc_field using 'BDC_CURSOR'

'MARC-MTVFP'.

perform bdc_field using 'MARC-MTVFP'

'02'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-WEBAZ'

record-webaz.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MBEW-BKLAS'

record-bklas.

perform bdc_field using 'MBEW-VPRSV'

'V'.

perform bdc_field using 'MBEW-PEINH'

'1'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-LOSGR'

'1'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MBEW-BKLAS'

record-bklas.

perform bdc_field using 'MBEW-VPRSV'

'V'.

perform bdc_field using 'MBEW-PEINH'

'1'.

perform bdc_dynpro using 'SAPLSPO1' '0300'.

perform bdc_field using 'BDC_OKCODE'

'=YES'.

perform bdc_transaction using 'MM01'.

ENDLOOP.

perform close_group.

plz provide the solution

points wil b awarded

thanx and regards

hi everybody

I am new to BDC and I have created a BDC for MM01. It is working well. I am using it by call transaction method. But my problem is this when the last material is created it is good but it does not stop and starts the next material creation and every time when i run the bdc it will waste a material number.

and please tell me the code to stop the bdc in each method and to move to next method

follwoing is the bdc code.

report ZDEMO_ZCON

no standard page heading line-size 255.

data: begin of record OCCURS 0,

  • MATNR(018),

  • MBRSH_001(001),

  • MTART_002(004),

  • WERKS_015(004),

MAKTX(040),

MEINS(003),

MATKL(009),

  • BISMT(18),

  • EXTWG(18),

EKGRP(003),

  • XCHPF_025(001),

WEBAZ(003),

DISGR(004),

  • DISMM_030(002),

  • MINBE(18),

DISPO(003),

  • DISLS(002),

  • MABST(18),

  • SOBSL(2),

  • PLIFZ_034(003),

  • FHORI_036(003),

  • MTVFP_039(002),

BKLAS(004),

END OF RECORD.

include bdcrecx1.

start-of-selection.

CALL FUNCTION 'UPLOAD'

EXPORTING

  • CODEPAGE = ' '

FILENAME = 'C:\BOOKS3' " Name of the tab delimited flat file on desktop

FILETYPE = 'DAT'

  • ITEM = ' '

  • FILEMASK_MASK = ' '

  • FILEMASK_TEXT = ' '

  • FILETYPE_NO_CHANGE = ' '

  • FILEMASK_ALL = ' '

  • FILETYPE_NO_SHOW = ' '

  • LINE_EXIT = ' '

  • USER_FORM = ' '

  • USER_PROG = ' '

  • SILENT = 'S'

  • IMPORTING

  • FILESIZE =

  • CANCEL =

  • ACT_FILENAME =

  • ACT_FILETYPE =

TABLES

data_tab = record " Name of internal table with data.

  • EXCEPTIONS

  • CONVERSION_ERROR = 1

  • INVALID_TABLE_WIDTH = 2

  • INVALID_TYPE = 3

  • NO_BATCH = 4

  • UNKNOWN_ERROR = 5

  • GUI_REFUSE_FILETRANSFER = 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.

.

perform open_group.

LOOP AT RECORD.

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-MBRSH'

'M'.

perform bdc_field using 'RMMG1-MTART'

'ZCON'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(13)'.

perform bdc_field using 'BDC_OKCODE'

'=P+'.

perform bdc_field using 'MSICHTAUSW-KZSEL(01)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(09)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(12)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(13)'

'X'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(08)'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'MSICHTAUSW-KZSEL(04)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(05)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(06)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(07)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(08)'

'X'.

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'

'MFPL'.

perform bdc_field using 'RMMG1-LGORT'

'ccon'.

perform bdc_dynpro using 'SAPLMGMM' '4004'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'BDC_CURSOR'

'MARA-MATKL'.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARA-MATKL'

record-matKl.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'BDC_CURSOR'

'MARC-EKGRP'.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-EKGRP'

record-ekgrp.

perform bdc_field using 'MARA-MATKL'

record-matkl.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'BDC_CURSOR'

'MARC-DISGR'.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-DISGR'

record-disgr.

perform bdc_field using 'MARC-EKGRP'

record-ekgrp.

perform bdc_field using 'MARC-DISMM'

'ND'.

perform bdc_field using 'MARC-DISPO'

record-dispo.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'BDC_CURSOR'

'MARC-WEBAZ'.

perform bdc_field using 'MARC-WEBAZ'

record-webaz.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=PB01'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-WEBAZ'

record-webaz.

perform bdc_dynpro using 'SAPLQPLS' '0100'.

perform bdc_field using 'BDC_CURSOR'

'RMQAM-ARGUMENT'.

perform bdc_field using 'BDC_OKCODE'

'=NEU'.

perform bdc_dynpro using 'SAPLQPLS' '0100'.

perform bdc_field using 'BDC_CURSOR'

'RMQAM-AKTIV(01)'.

perform bdc_field using 'BDC_OKCODE'

'=WEIT'.

perform bdc_field using 'RMQAM-ART(01)'

'ZCON'.

perform bdc_field using 'RMQAM-APA(01)'

'X'.

perform bdc_field using 'RMQAM-AKTIV(01)'

'X'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-WEBAZ'

record-webaz.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MBEW-BKLAS'

record-bklas.

perform bdc_field using 'MBEW-VPRSV'

'V'.

perform bdc_field using 'MBEW-PEINH'

'1'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-LOSGR'

'1'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MBEW-BKLAS'

record-bklas.

perform bdc_field using 'MBEW-VPRSV'

'V'.

perform bdc_field using 'MBEW-PEINH'

'1'.

perform bdc_dynpro using 'SAPLSPO1' '0300'.

perform bdc_field using 'BDC_OKCODE'

'=YES'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARC-PERKZ'

'M'.

perform bdc_field using 'BDC_CURSOR'

'MARC-MTVFP'.

perform bdc_field using 'MARC-MTVFP'

'02'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-WEBAZ'

record-webaz.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MBEW-BKLAS'

record-bklas.

perform bdc_field using 'MBEW-VPRSV'

'V'.

perform bdc_field using 'MBEW-PEINH'

'1'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MARA-MEINS'

record-meins.

perform bdc_field using 'MARC-LOSGR'

'1'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

record-maktx.

perform bdc_field using 'MBEW-BKLAS'

record-bklas.

perform bdc_field using 'MBEW-VPRSV'

'V'.

perform bdc_field using 'MBEW-PEINH'

'1'.

perform bdc_dynpro using 'SAPLSPO1' '0300'.

perform bdc_field using 'BDC_OKCODE'

'=YES'.

perform bdc_transaction using 'MM01'.

ENDLOOP.

perform close_group.

plz provide the solution

points wil b awarded

thanx and regards

1 REPLY 1
Read only

Former Member
0 Likes
403

***********************************************************************

**&#12288;Program ID &#65306; ZMAT_CREATE

**&#12288;Program Desc &#65306; Material Master Creation

**&#12288;Process Overview &#65306;

**&#12288;Created By &#65306; R. NAGARAJAN

**&#12288;Created Date &#65306; 22/08/2006

**&#12288;Company Name &#65306; Infoview Technologies Limited

************************************************************************

REPORT ZMAT_CREATE

NO STANDARD PAGE HEADING LINE-SIZE 132 MESSAGE-ID ZBDCMSG.

-


Internal table definition *

-


DATA: BEGIN OF ITAB OCCURS 0,

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, " Storage Location

VKORG LIKE RMMG1-VKORG, " Sales Organization

VTWEG LIKE RMMG1-VTWEG, " Distribution Channel

LGNUM LIKE RMMG1-LGNUM, " Warehouse Number

LGTYP LIKE RMMG1-LGTYP, " Storage Type

MAKTX LIKE MAKT-MAKTX, " Material Description

MEINS LIKE MARA-MEINS, " Base Unit of Measure

MATKL LIKE MARA-MATKL, " Material Group

SPART LIKE MARA-SPART, " Division

MTPOS_MARA LIKE MARA-MTPOS_MARA, "General item category group

GEWEI LIKE MARA-GEWEI, " Weight Unit

TAXKM1 LIKE MG03STEUER-TAXKM, " Tax classification material

TAXKM2 LIKE MG03STEUER-TAXKM, " Tax classification material

KONDM LIKE MVKE-KONDM, " Material Pricing Group

MTPOS LIKE MVKE-MTPOS , "ItemCategoryGroupFromMaterialMaster

MTVFP LIKE MARC-MTVFP, " Checking Group for AvailabilityCheck

TRAGR LIKE MARA-TRAGR, " Transportation group

LADGR LIKE MARC-LADGR, " Loading group

TDLINE LIKE RSTXT-TXLINE, " Text editor text line

EKGRP LIKE MARC-EKGRP, " Purchasing Group

DISMM LIKE MARC-DISMM, " MRP Type

BESKZ LIKE MARC-BESKZ, " Procurement Type

SOBSL LIKE MARC-SOBSL, " Special procurement type

PERKZ LIKE MARC-PERKZ, " Period indicator

PRMOD LIKE MPOP-PRMOD, " Forecast model

KZINI LIKE MPOP-KZINI, " Initialization indicator

AUTRU LIKE MARC-AUTRU, " Reset Forecast Model Automatically

MODAV LIKE MPOP-MODAV, " Model selection procedure

IPRKZ LIKE MARA-IPRKZ, " Period indicator for shelf life expiration date

BWTTY LIKE MBEW-BWTTY, " Valuation Category

BKLAS LIKE MBEW-BKLAS, " Valuation Class

EKLAS LIKE MBEW-EKLAS, " Valuation Class for Sales OrderStock

VPRSV LIKE MBEW-VPRSV, " Price Control Indicator

EKALR LIKE MBEW-EKALR, "MaterialIsCostedWithQuantityStructure

END OF ITAB,

*// TEXT HEADER

GT_HEAD LIKE THEAD,

*// Text lines

GT_TEXT LIKE STANDARD TABLE OF TLINE,

GW_TEXT LIKE TLINE,

-


Data definition *

-


WS_REP_CNT(6) TYPE C,

SESSION(12) TYPE C.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.

PARAMETERS:

PA_GROUP LIKE APQI-GROUPID OBLIGATORY DEFAULT 'MMupload',

PA_FNAME LIKE IBIPPARMS-PATH OBLIGATORY.

SELECTION-SCREEN END OF BLOCK B1.

-


Include statements *

-


INCLUDE ZBDCREX.

-


At Selection Screen definition *

-


AT SELECTION-SCREEN ON VALUE-REQUEST FOR PA_FNAME.

*//GETTING FLAT FILE PATH

PERFORM FILE_PATH USING PA_FNAME.

-


Start of Selection definition *

-


START-OF-SELECTION.

*//UPLOADING THE FLAT FILE

PERFORM DATA_UPLOAD TABLES ITAB USING PA_FNAME.

*// BDC OPEN GROUP

PERFORM OPEN_GROUP USING PA_GROUP.

SKIP 3.

FORMAT COLOR COL_HEADING INVERSE ON.

WRITE 40 TEXT-001.

FORMAT COLOR COL_HEADING INVERSE OFF.

SKIP 1.

FORMAT COLOR COL_NEGATIVE INVERSE ON.

WRITE :/3 TEXT-002, 13 SY-MANDT, 104 TEXT-003, 113 SY-UNAME,

/3 TEXT-004, 13 SY-DATUM, 104 TEXT-005, 113 SY-UZEIT.

FORMAT COLOR COL_NEGATIVE INVERSE OFF.

LOOP AT ITAB.

WS_REP_CNT = WS_REP_CNT + 1. "To Count no. of Records Processed

PERFORM MM_UPLOAD.

ENDLOOP.

*//STATUS INDICATION

IF SY-SUBRC = 0.

SESSION = PA_GROUP.

SKIP 1.

FORMAT COLOR COL_TOTAL INVERSE ON.

WRITE: /38 TEXT-006 , WS_REP_CNT.

FORMAT COLOR COL_TOTAL INVERSE OFF.

MESSAGE S000 WITH SESSION.

ENDIF.

*// BDC CLOSE GROUP

PERFORM CLOSE_GROUP.

SET PF-STATUS 'ZMM01PF'.

AT USER-COMMAND.

CASE SY-UCOMM.

WHEN 'SESSION'.

CALL TRANSACTION 'SM35'.

WHEN 'EXIT'.

LEAVE PROGRAM.

WHEN 'CANCEL'.

LEAVE SCREEN.

ENDCASE .

-


*

FORM MM_UPLOAD *

-


*

FORM MM_UPLOAD.

REFRESH BDCDATA.

*// Create Material: Initial Screen

perform bdc_dynpro using 'SAPLMGMM' '0060'.

perform bdc_field using 'BDC_CURSOR'

'RMMG1-MATNR'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'RMMG1-MATNR'

ITAB-MATNR.

perform bdc_field using 'RMMG1-MBRSH'

ITAB-MBRSH.

perform bdc_field using 'RMMG1-MTART'

ITAB-MTART.

*// Selection Views

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(01)'.

perform bdc_field using 'BDC_OKCODE'

'SELA'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(01)'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

*// Organization Levels

perform bdc_dynpro using 'SAPLMGMM' '0080'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'RMMG1-WERKS'

ITAB-WERKS.

perform bdc_field using 'RMMG1-LGORT'

ITAB-LGORT.

perform bdc_field using 'RMMG1-VKORG'

ITAB-VKORG.

perform bdc_field using 'RMMG1-VTWEG'

ITAB-VTWEG.

perform bdc_field using 'RMMG1-LGNUM'

ITAB-LGNUM.

perform bdc_field using 'RMMG1-LGTYP'

ITAB-LGTYP.

*// Basic Data 1: Screen

perform bdc_dynpro using 'SAPLMGMM' '4004'.

perform bdc_field using 'BDC_OKCODE'

'=SP04'.

perform bdc_field using 'MAKT-MAKTX'

ITAB-MAKTX.

perform bdc_field using 'MARA-MEINS'

ITAB-MEINS.

perform bdc_field using 'MARA-SPART'

ITAB-SPART.

perform bdc_field using 'MARA-MTPOS_MARA'

ITAB-MTPOS_MARA.

perform bdc_field using 'BDC_CURSOR'

'MARA-GEWEI'.

perform bdc_field using 'MARA-BRGEW'

'9000'.

perform bdc_field using 'MARA-GEWEI'

ITAB-GEWEI.

perform bdc_field using 'MARA-NTGEW'

'8000'.

*// Sales: Sales Organization 1: Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP05'.

perform bdc_field using 'MG03STEUER-TAXKM(01)'

ITAB-TAXKM1.

perform bdc_field using 'MG03STEUER-TAXKM(02)'

ITAB-TAXKM2.

perform bdc_dynpro using 'SAPLMGMM' '4200'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_OKCODE'

'=SP05'.

*// Sales: Sales Organization 2: Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP06'.

perform bdc_field using 'BDC_CURSOR'

'MVKE-KONDM'.

perform bdc_field using 'MVKE-KONDM'

ITAB-KONDM.

perform bdc_field using 'MARA-MTPOS_MARA'

ITAB-MTPOS_MARA.

perform bdc_field using 'MVKE-MTPOS'

ITAB-MTPOS.

*// Sales: General / Plant Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP12'.

perform bdc_field using 'MARA-MEINS'

ITAB-MEINS.

perform bdc_field using 'MARA-BRGEW'

'9000'.

perform bdc_field using 'MARA-GEWEI'

ITAB-GEWEI.

perform bdc_field using 'MARA-XCHPF'

''.

perform bdc_field using 'MARA-NTGEW'

'8000'.

perform bdc_field using 'MARC-MTVFP'

ITAB-MTVFP.

perform bdc_field using 'BDC_CURSOR'

'MARC-LADGR'.

perform bdc_field using 'MARA-TRAGR'

ITAB-TRAGR.

perform bdc_field using 'MARC-LADGR'

ITAB-LADGR.

*// MRP 1: Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP13'.

perform bdc_field using 'MARA-MEINS'

ITAB-MEINS.

perform bdc_field using 'MARC-EKGRP'

ITAB-EKGRP.

perform bdc_field using 'BDC_CURSOR'

'MARC-DISMM'.

perform bdc_field using 'MARC-DISMM'

ITAB-DISMM.

*// MRP 2: Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP14'.

perform bdc_field using 'BDC_CURSOR'

'RMMG1_BEZ-WERKS_BEZ'.

perform bdc_field using 'MARC-BESKZ'

ITAB-BESKZ.

perform bdc_field using 'MARC-SOBSL'

ITAB-SOBSL .

*// MRP 3: Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP16'.

perform bdc_field using 'BDC_CURSOR'

'MARC-PERKZ'.

perform bdc_field using 'MARC-PERKZ'

ITAB-PERKZ.

perform bdc_field using 'MARC-MTVFP'

ITAB-MTVFP.

*// Forecasting Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP17'.

perform bdc_field using 'BDC_CURSOR'

'MPOP-PRMOD'.

perform bdc_field using 'MARA-MEINS'

ITAB-MEINS.

perform bdc_field using 'MPOP-PRMOD'

ITAB-PRMOD.

perform bdc_field using 'MARC-PERKZ'

ITAB-PERKZ.

perform bdc_field using 'MPOP-PERAN'

'60'.

perform bdc_field using 'MPOP-ANZPR'

'12'.

perform bdc_field using 'MPOP-KZINI'

ITAB-KZINI.

perform bdc_field using 'MPOP-SIGGR'

'4.000'.

perform bdc_field using 'MARC-AUTRU'

ITAB-AUTRU.

perform bdc_field using 'MPOP-MODAV'

ITAB-MODAV.

*// Work Scheduling Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP19'.

perform bdc_field using 'BDC_CURSOR'

'MARC-FRTME'.

perform bdc_field using 'MARA-MEINS'

ITAB-MEINS.

*// Plant data / Stor. 1: Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP20'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MARA-MEINS'

ITAB-MEINS.

perform bdc_field using 'MARA-IPRKZ'

ITAB-IPRKZ.

*// Plant data / Stor. 2: Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP21'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MARA-BRGEW'

'9000'.

perform bdc_field using 'MARA-GEWEI'

ITAB-GEWEI.

perform bdc_field using 'MARA-NTGEW'

'8000'.

*// Warehouse Management 1: Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP23'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MARA-MEINS'

ITAB-MEINS.

perform bdc_field using 'MARA-BRGEW'

'9000'.

perform bdc_field using 'MARA-GEWEI'

ITAB-GEWEI.

*// Quality Management Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP24'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MARA-MEINS'

ITAB-MEINS.

*// Accounting 1: Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP26'.

perform bdc_field using 'MARA-MEINS'

ITAB-MEINS.

perform bdc_field using 'MBEW-BWTTY'

ITAB-BWTTY.

perform bdc_field using 'MARA-SPART'

ITAB-SPART.

perform bdc_field using 'BDC_CURSOR'

'MBEW-STPRS'.

perform bdc_field using 'MBEW-BKLAS'

ITAB-BKLAS.

perform bdc_field using 'MBEW-EKLAS'

ITAB-EKLAS.

perform bdc_field using 'MBEW-VPRSV'

ITAB-VPRSV.

perform bdc_field using 'MBEW-PEINH'

'1'.

perform bdc_field using 'MBEW-VERPR'

'800'.

perform bdc_field using 'MBEW-STPRS'

'800'.

*// Costing 1: Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP27'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MARA-MEINS'

ITAB-MEINS.

perform bdc_field using 'MBEW-EKALR'

ITAB-EKALR.

perform bdc_field using 'MARC-LOSGR'

'1'.

*// Costing 2: Screen

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=BABA'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MBEW-BKLAS'

ITAB-BKLAS.

perform bdc_field using 'MBEW-BWTTY'

ITAB-BWTTY.

perform bdc_field using 'MBEW-EKLAS'

ITAB-EKLAS.

perform bdc_field using 'MBEW-VPRSV'

ITAB-VPRSV.

perform bdc_field using 'MBEW-PEINH'

'1'.

perform bdc_field using 'MBEW-VERPR'

'800.00'.

perform bdc_field using 'MBEW-STPRS'

'800.00'.

perform bdc_dynpro using 'SAPLSPO1' '0300'.

perform bdc_field using 'BDC_OKCODE'

'=YES'.

*//BDC INSERT

PERFORM BDC_TRANSACTION TABLES BDCDATA

USING 'MM01'. " MESSAGES INTO GT_MSG.

*// Text Header Data

CONCATENATE ITAB-MATNR ' 000101'

INTO GT_HEAD-TDNAME .

GT_HEAD-TDOBJECT = 'MVKE' .

GT_HEAD-TDID = '0001' .

GT_HEAD-TDSPRAS = SY-LANGU.

*// Sales Text

GW_TEXT-TDFORMAT = '00'.

GW_TEXT-TDLINE = ITAB-TDLINE .

APPEND GW_TEXT TO GT_TEXT.

CALL FUNCTION 'SAVE_TEXT'

EXPORTING

CLIENT = SY-MANDT

HEADER = GT_HEAD

INSERT = 'X'

SAVEMODE_DIRECT = 'X'

OWNER_SPECIFIED = ' '

TABLES

LINES = GT_TEXT

EXCEPTIONS

ID = 1

LANGUAGE = 2

NAME = 3

OBJECT = 4

OTHERS = 5.

IF SY-SUBRC 0.

SKIP 2.

FORMAT COLOR COL_NEGATIVE INVERSE ON.

WRITE: / 'Unable to Insert Salestext for Material : ', ITAB-MATNR .

FORMAT COLOR COL_NEGATIVE INVERSE OFF.

ENDIF.

CLEAR: GT_HEAD, GT_TEXT, GW_TEXT.

ENDFORM. "MM_UPLOAD