Application Development 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: 

mm01

Former Member
0 Kudos

hi,

i want the bdc code for mm01 transaction

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hai Kiran

check with this code

include bdcrecx1.

tables : mara.

data : begin of it_mara occurs 0,

matnr like mara-matnr,

mbrsh like mara-mbrsh,

mtart like mara-mtart,

maktx like makt-maktx,

meins like mara-meins,

end of it_mara.

start-of-selection.

perform upload_data.

perform open_group.

loop at it_mara.

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'

it_mara-matnr.

perform bdc_field using 'RMMG1-MBRSH'

it_mara-mbrsh.

perform bdc_field using 'RMMG1-MTART'

it_mara-mtart.

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'

'=BU'.

perform bdc_field using 'MAKT-MAKTX'

it_mara-maktx.

perform bdc_field using 'BDC_CURSOR'

'MARA-MEINS'.

perform bdc_field using 'MARA-MEINS'

it_mara-meins.

perform bdc_field using 'MARA-MTPOS_MARA'

'NORM'.

perform bdc_transaction using 'MM01'.

endloop.

perform close_group.

&----


*& Form upload_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM upload_data .

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'c:\mat_bdc.txt'

FILETYPE = 'ASC'

TABLES

DATA_TAB = it_mara.

IF SY-SUBRC = 0.

SORT IT_MARA BY MATNR.

ENDIF.

ENDFORM. " upload_data

flat file structure is

PRANIT_011 CCOUP This is Testing material kg

PRANIT_012 CCOUP This is Testing material kg

PRANIT_013 CCOUP This is Testing material kg

PRANIT_014 CCOUP This is Testing material kg

PRANIT_015 CCOUP This is Testing material kg

when your selecting views

this particular material will belongs to Po/Sales or some other areas .

when you select basic 1 --it gives description

select basic 2 -- it gives tax ,amount, base unit of measurement

Thanks & Regards

Sreenivasulu P

9 REPLIES 9

Former Member
0 Kudos

hi Kiran,

Give me your mail id i will send u the code..

Regards,

Santosh

0 Kudos

I suggest using the BAPI instead of BDC.



report zrich_0003 .

data: headdata type bapimathead.
data: clientdata type bapi_mara.
data: clientdatax type bapi_marax.
data: descdata type table of BAPI_MAKT with header line.
data: return type  bapiret2 .
data: returnm type table of bapi_matreturn2 with header line.
data: xmara type mara.


parameters: p_matnr type mara-matnr.


headdata-material        = p_matnr.
headdata-ind_sector      = 'M'.
headdata-matl_type       = 'FERT'.
headdata-basic_view = 'X'.


clientdata-BASE_UOM   = 'EA'.
clientdatax-BASE_UOM   = 'X'.
clientdata-old_mat_no = 'Old Material'.
clientdatax-old_mat_no = 'X'.
clientdata-division = '00'.
clientdatax-division = 'X'.

descdata-LANGU = sy-langu.
descdata-MATL_DESC = 'This is the description'.
append descdata.

call function 'BAPI_MATERIAL_SAVEDATA'
  exporting
    headdata                   = headdata
    clientdata                 = clientdata
    clientdatax                = clientdatax
*   PLANTDATA                  =
*   PLANTDATAX                 =
*   FORECASTPARAMETERS         =
*   FORECASTPARAMETERSX        =
*   PLANNINGDATA               =
*   PLANNINGDATAX              =
*   STORAGELOCATIONDATA        =
*   STORAGELOCATIONDATAX       =
*   VALUATIONDATA              =
*   VALUATIONDATAX             =
*   WAREHOUSENUMBERDATA        =
*   WAREHOUSENUMBERDATAX       =
*   SALESDATA                  =
*   SALESDATAX                 =
*   STORAGETYPEDATA            =
*   STORAGETYPEDATAX           =
 importing
   return                     = return
  tables
    MATERIALDESCRIPTION        = descdata
*   UNITSOFMEASURE             =
*   UNITSOFMEASUREX            =
*   INTERNATIONALARTNOS        =
*   MATERIALLONGTEXT           =
*   TAXCLASSIFICATIONS         =
    returnmessages             = returnm
*   PRTDATA                    =
*   PRTDATAX                   =
*   EXTENSIONIN                =
*   EXTENSIONINX               =
          .

check sy-subrc  = 0.


Regards,

Rich Heilman

0 Kudos

hi

my mail id is: touchmachi18@yahoo.co.in

but my requirement is in bdc only can u plz help me

thanks regards,

kiran kumar.m

0 Kudos

hi Kiran,

Check out this code this is related to BDC ONLY

  • Fill the Screen of MM01 - First Screen

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '0060',

' ' 'RMMG1-MATNR' P_MATNR,

' ' 'RMMG1-MBRSH' V_MBRSH,

' ' 'RMMG1-MTART' V_MTART,

' ' 'RMMG1_REF-MATNR' P_RFMAT,

' ' 'BDC_OKCODE' '/00'.

  • Fill the Screen of MM01 - Select All Views

LOOP AT T_VIEW.

AT FIRST.

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '0070'.

ENDAT.

IF T_VIEW-PSTA2 NE SPACE AND T_VIEW-VIEWN < 22.

MOVE 'MSICHTAUSW-KZSEL(&)' TO V_FLDNM.

REPLACE '&' WITH T_VIEW-VIEWN INTO V_FLDNM.

PERFORM FILL_DYNPRO USING:

' ' V_FLDNM 'X'.

ENDIF.

AT LAST.

PERFORM FILL_DYNPRO USING:

' ' 'BDC_OKCODE' '/00'.

ENDAT.

ENDLOOP.

  • Fill the Screen of MM01 - Organizational Data for New & Ref Material

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '0080'.

PERFORM FILL_DYNPRO USING:

' ' 'RMMG1-WERKS' T_ZMCMATXTND-WERKS.

  • IF p_bschp EQ ' '.

  • PERFORM fill_dynpro USING:

  • ' ' 'RMMG1_REF-WERKS' t_zmcmatxtnd-rfwrk.

  • ELSE.

PERFORM FILL_DYNPRO USING:

' ' 'RMMG1_REF-WERKS' T_ZMCMATXTND-RFWRK.

  • ENDIF.

IF F_LVIEW EQ 'Y'.

PERFORM FILL_DYNPRO USING:

' ' 'RMMG1-LGORT' T_ZMCMATXTND-LGORT,

' ' 'RMMG1_REF-LGORT' T_ZMCMATXTND-RFLGO.

ENDIF.

IF F_SVIEW EQ 'Y'.

PERFORM FILL_DYNPRO USING:

' ' 'RMMG1-VKORG' T_ZMCMATXTND-VKORG,

' ' 'RMMG1-VTWEG' T_ZMCMATXTND-VTWEG,

' ' 'RMMG1_REF-VKORG' T_ZMCMATXTND-RFVKO,

' ' 'RMMG1_REF-VTWEG' T_ZMCMATXTND-RFVTW.

ENDIF.

PERFORM FILL_DYNPRO USING:

' ' 'BDC_OKCODE' '/00'.

  • Fill the Screen of MM01 - Data Screens w/ Override Parameters

LOOP AT T_VIEW.

IF T_VIEW-PSTA2 NE SPACE.

" perform fill_dynpro using:

" 'X' t_view-progn t_view-dypno.

CONCATENATE '=SP' T_VIEW-VIEWN INTO V_FLDNM.

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '4000',

' ' 'BDC_OKCODE' V_FLDNM.

  • Overwrite Old Material Number on Basic Data Screen

IF T_VIEW-VIEWN = 1. "Basic Data 1

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '4000',

  • ' ' 'MARA-BISMT' p_bismt, "old Material Number

' ' 'MARA-EXTWG' ' ', "Ext Mat Group to be blank.

' ' 'BDC_OKCODE' '/00'.

ENDIF.

IF T_VIEW-VIEWN = 2. " Basi Data 2

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '4000',

' ' 'MARA-KZUMW' P_LEAD,

' ' 'MARA-ZEINR' ' '," Booking Part is blank for local part

' ' 'BDC_OKCODE' '/00'.

ENDIF.

  • Overwrite Delivery Plant, Sales Status and Sales Status Valid Date

  • on the Sales Organization Data Screen

IF T_VIEW-VIEWN = 4. "Sales: Sales Org Data 1

IF T_ZMCMATXTND-DWERK NE SPACE.

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '4000',

' ' 'MVKE-DWERK' T_ZMCMATXTND-DWERK,

    • Start of delete by venkat 03/09/06 inc# 55365

  • ' ' 'BDC_OKCODE' '/00',

    • End of delete by venkat 03/09/06 inc# 55365

' ' 'BDC_OKCODE' '=SP04'.

ENDIF.

IF T_ZMCMATXTND-VMSTA NE SPACE.

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '4000',

' ' 'MVKE-VMSTA' T_ZMCMATXTND-VMSTA,

' ' 'MVKE-VMSTD' V_VMSTD,

' ' 'BDC_OKCODE' '/00'.

ENDIF.

IF T_ZMCMATXTND-WERKS = '0301'

OR T_ZMCMATXTND-WERKS = 'RTC1'" Rensas Canada, Pra 07/25/2005

OR T_ZMCMATXTND-WERKS = '0311'

OR T_ZMCMATXTND-WERKS = '0341'.

PERFORM FILL_DYNPRO USING: "Tax Detail

'X' 'SAPLMGMM' '4200',

' ' 'BDC_OKCODE' '/00'.

ENDIF.

ENDIF.

IF P_APPL <> SPACE AND T_VIEW-VIEWN = 5.

CONCATENATE '=SP' T_VIEW-VIEWN INTO V_FLDNM.

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '4000',

' ' 'MVKE-MVGR3' P_APPL, "Application Code

' ' 'BDC_OKCODE' V_FLDNM.

ENDIF.

  • IF p_bschp EQ 'X' AND t_view-viewn = 5.

IF T_VIEW-VIEWN = 5.

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '4000',

  • ' ' 'MVKE-MTPOS' t_zmcmatxtnd-bcmtp, "Item Category Group

' ' 'BDC_OKCODE' '=SP06'.

ENDIF.

  • Put Extra ENTER on Sales Text Screen if Text Exists for Ref Material

IF T_VIEW-VIEWN = 8.

V_TDNAM+00(18) = P_RFMAT.

V_TDNAM+18(04) = T_ZMCMATXTND-RFVKO.

V_TDNAM+22(02) = T_ZMCMATXTND-RFVTW.

SELECT * FROM STXH

WHERE TDOBJECT EQ 'MVKE'

AND TDNAME EQ V_TDNAM .

ENDSELECT.

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '4040',

' ' 'BDC_OKCODE' '/00'.

ENDIF.

IF T_VIEW-VIEWN = 9 .

PERFORM FILL_DYNPRO USING: 'X' 'SAPLMGMM' '4000'.

PERFORM FILL_DYNPRO USING: ' ' 'MARA-MFRPN' ' '.

PERFORM FILL_DYNPRO USING: ' ' 'MARC-KAUTB' ' '.

PERFORM FILL_DYNPRO USING: ' ' 'MARC-WEBAZ' ' '.

**-- Pricing Part is blank for local part

  • PERFORM fill_dynpro USING: ' ' 'MARC-MFRPN' ' '.

PERFORM FILL_DYNPRO USING: ' ' 'BDC_OKCODE' '=SP09'.

ENDIF.

IF T_VIEW-VIEWN = 13.

PERFORM FILL_DYNPRO USING: 'X' 'SAPLMGMM' '4000'.

IF NOT P_GRPROC IS INITIAL.

PERFORM FILL_DYNPRO USING: ' ' 'MARC-WEBAZ' P_GRPROC.

ENDIF.

PERFORM FILL_DYNPRO USING: ' ' 'MARC-EISBE'(004) ' '.

PERFORM FILL_DYNPRO USING: ' ' 'BDC_OKCODE' '=SP13'.

ENDIF.

IF T_VIEW-VIEWN = 14 .

V_PARTALG = 4.

PERFORM FILL_DYNPRO USING: 'X' 'SAPLMGMM' '4000',

' ' 'MARC-Z_PRTNO_ALG' V_PARTALG,

' ' 'MARC-Z_FCT_TO_BCKLOG' ' '.

PERFORM FILL_DYNPRO USING: ' ' 'BDC_OKCODE' '=SP14'.

ENDIF.

IF T_VIEW-VIEWN = 11. "Purchase order text

PERFORM FILL_DYNPRO USING: "Sales order text

'X' 'SAPLMGMM' '4040',

' ' 'BDC_OKCODE' '/00'.

SELECT LEX1 INTO

FROM

IF IS RM03M-LTEX1[] NOT INITIAL.

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '4040',

' ' 'BDC_OKCODE' '/00'.

ENDIF.

  • Overwrite MRP Data on MRP screen

IF T_VIEW-VIEWN = 12 . "MRP 1 screen

IF T_ZMCMATXTND-WERKS EQ 'RTC1'.

P_DISPO = 'rtc'.

ENDIF.

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '4000',

' ' 'MARC-DISPO' P_DISPO,"MRP Controller

' ' 'BDC_OKCODE' '/00'.

ENDIF.

ENDIF.

AT LAST.

  • remove foreign trade commondity code

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '4000',

' ' 'BDC_OKCODE' '=SP07'.

PERFORM FILL_DYNPRO USING:

'X' 'SAPLMGMM' '4004',

' ' 'MARC-STAWN' '',

' ' 'MARC-MTVER' '',

' ' 'BDC_OKCODE' 'BU'.

ENDAT.

ENDLOOP.

  • Call Transaction MM01

SY-SUBRC = '4'.

CALL TRANSACTION 'MM01'

USING T_BDC_TAB

MODE P_BDMOD

UPDATE 'S'

MESSAGES INTO T_MSG_TAB .

Regards,

Santosh

Note: Reward Points if helpful

0 Kudos

hi vijay,

thanks for all

can u give me the complete code on bdc only and then how to know the selected view of the for a materials here for different materials different view are appearing...

please give me the complete code.........

thanks regards,

kiran kumar.m

0 Kudos

hi santosh,

can u give me the complete code for this one

and i want to know the structre of t_view in u r code

and how can i recognize the selected views?

thanks regards,

kiran

former_member188685
Active Contributor
0 Kudos

Hi,

Check the code..

report ZTES_MATUP
       no standard page heading line-size 255.

include bdcrecx1.

parameters: dataset(132) lower case.
***    DO NOT CHANGE - the generated data section - DO NOT CHANGE    ***
*
*   If it is nessesary to change the data section use the rules:
*   1.) Each definition of a field exists of two lines
*   2.) The first line shows exactly the comment
*       '* data element: ' followed with the data element
*       which describes the field.
*       If you don't have a data element use the
*       comment without a data element name
*   3.) The second line shows the fieldname of the
*       structure, the fieldname must consist of
*       a fieldname and optional the character '_' and
*       three numbers and the field length in brackets
*   4.) Each field must be type C.
*
*** Generated data section with specific formatting - DO NOT CHANGE  ***
data: begin of record,
* data element: MTART
        MTART_001(004),
* data element: MATNR
        MATNR_002(018),
* data element: XFELD
        KZSEL_01_003(001),
* data element: XFELD
        KZSEL_02_004(001),
* data element: MAKTX
        MAKTX_005(040),
* data element: MEINS
        MEINS_006(003),
* data element: SPART
        SPART_007(002),
* data element: MAKTX
        MAKTX_008(040),
      end of record.

*** End generated data section ***

start-of-selection.

perform open_dataset using dataset.
perform open_group.

do.

read dataset dataset into record.
if sy-subrc <> 0. exit. endif.

perform bdc_dynpro      using 'SAPLMGMM' '0060'.
perform bdc_field       using 'BDC_CURSOR'
                              'RMMG1-AENNR'.
perform bdc_field       using 'BDC_OKCODE'
                              'AUSW'.
perform bdc_field       using 'RMMG1-MTART'
                              record-MTART_001.
perform bdc_field       using 'RMMG1-MATNR'
                              record-MATNR_002.
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)'
                              record-KZSEL_01_003.
perform bdc_field       using 'MSICHTAUSW-KZSEL(02)'
                              record-KZSEL_02_004.
perform bdc_dynpro      using 'SAPLMGMM' '4004'.
perform bdc_field       using 'BDC_OKCODE'
                              '/00'.
perform bdc_field       using 'MAKT-MAKTX'
                              record-MAKTX_005.
perform bdc_field       using 'BDC_CURSOR'
                              'MARA-SPART'.
perform bdc_field       using 'MARA-MEINS'
                              record-MEINS_006.
perform bdc_field       using 'MARA-SPART'
                              record-SPART_007.
perform bdc_dynpro      using 'SAPLMGMM' '4004'.
perform bdc_field       using 'BDC_OKCODE'
                              '/00'.
perform bdc_field       using 'BDC_CURSOR'
                              'MAKT-MAKTX'.
perform bdc_field       using 'MAKT-MAKTX'
                              record-MAKTX_008.
perform bdc_dynpro      using 'SAPLSPO1' '0300'.
perform bdc_field       using 'BDC_OKCODE'
                              '=YES'.
perform bdc_transaction using 'MM01'.

enddo.

perform close_group.
perform close_dataset using dataset.

Regards

vijay

former_member188685
Active Contributor
0 Kudos

Hi,

also check the code using BAPI also...

REPORT Z_BAPI_MAT.


**********************************************************************
*                STRUCTURE  DECLARATIONS                             *
**********************************************************************

TABLES: BAPIMATHEAD,  "Headerdata
        BAPI_MARA,    "Clientdata
        BAPI_MARAX,   "Clientdatax
        BAPI_MARC,    "Plantdata
        BAPI_MARCX,   "Plantdatax
        BAPI_MAKT,    "Material description
        BAPIRET2.     "Return messages

DATA:V_FILE TYPE STRING.


DATA:
  BEGIN OF LSMW_MATERIAL_MASTER,
    MATNR(018) TYPE C,  "Material number
    MTART(004) TYPE C,  "Material type
    MBRSH(001) TYPE C,  "Industry sector
    WERKS(004) TYPE C,  "Plant
    MAKTX(040) TYPE C,  "Material description
    DISMM(002) TYPE C,  "Extra Field Added In the Program as itsrequired
    MEINS(003) TYPE C,  "Base unit of measure
    MATKL(009) TYPE C,  "Material group
    SPART(002) TYPE C,  "Division
    LABOR(003) TYPE C,  "Lab/office
    PRDHA(018) TYPE C,  "Product hierarchy
    MSTAE(002) TYPE C,  "X-plant matl status
    MTPOS_MARA(004) TYPE C,  "Gen item cat group
    BRGEW(017) TYPE C,  "Gross weight
    GEWEI(003) TYPE C,  "Weight unit
    NTGEW(017) TYPE C,  "Net weight
    GROES(032) TYPE C,  "Size/Dimensions
    MAGRV(004) TYPE C,  "Matl grp pack matls
    BISMT(018) TYPE C,  "Old material number
    WRKST(048) TYPE C,  "Basic material
    PROFL(003) TYPE C,  "DG indicator profile
    KZUMW(001) TYPE C,  "Environmentally rlvt
    BSTME(003) TYPE C,  "Order unit
    VABME(001) TYPE C,
    EKGRP(003) TYPE C,  "Purchasing group
    XCHPF(001) TYPE C,  "Batch management
    EKWSL(004) TYPE C,  "Purchasing key value
    WEBAZ(003) TYPE C,  "GR processing time
    MFRPN(040) TYPE C,  "Manufacturer part number
    MFRNR(010) TYPE C,  "Manufacturer number
    VPRSV(001) TYPE C,  "Price control indicator
    STPRS(015) TYPE C,  "Standard price
    BWPRH(014) TYPE C,  "Commercial price1
    BKLAS(004) TYPE C,  "Valuation class
  END OF LSMW_MATERIAL_MASTER.


**********************************************************************
*                INTERNAL TABLE DECLARATIONS                         *
**********************************************************************

*to store the input data
DATA:
  BEGIN OF it_matmaster OCCURS 0.
        INCLUDE STRUCTURE LSMW_MATERIAL_MASTER.

DATA:
  END OF it_matmaster.

*for material description
DATA:BEGIN OF IT_MATERIALDESC OCCURS 0.
     INCLUDE STRUCTURE BAPI_MAKT .
DATA:END OF IT_MATERIALDESC.

*to return messages
DATA:BEGIN OF IT_RETURN OCCURS 0.
     INCLUDE STRUCTURE BAPIRET2.
DATA:END OF IT_RETURN.

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

PARAMETERS:P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1 .

************************************************************************
* AT SELECTION SCREEN
************************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      PROGRAM_NAME  = SYST-CPROG
      DYNPRO_NUMBER = SYST-DYNNR
      FIELD_NAME    = 'P_FILE'
    IMPORTING
      FILE_NAME     = P_FILE.



**********************************************************************
*                TO UPLOAD THE DATA                                  *
**********************************************************************

START-OF-SELECTION.
V_FILE = P_FILE.
CALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
    filename                      = V_FILE
   FILETYPE                      = 'ASC'
   HAS_FIELD_SEPARATOR           = 'X'
*   HEADER_LENGTH                 = 0
*   READ_BY_LINE                  = 'X'
*   DAT_MODE                      = ' '
* IMPORTING
*   FILELENGTH                    =
*   HEADER                        =
  tables
    data_tab                      =  IT_MATMASTER
 EXCEPTIONS
   FILE_OPEN_ERROR               = 1
   FILE_READ_ERROR               = 2
   NO_BATCH                      = 3
   GUI_REFUSE_FILETRANSFER       = 4
   INVALID_TYPE                  = 5
   NO_AUTHORITY                  = 6
   UNKNOWN_ERROR                 = 7
   BAD_DATA_FORMAT               = 8
   HEADER_NOT_ALLOWED            = 9
   SEPARATOR_NOT_ALLOWED         = 10
   HEADER_TOO_LONG               = 11
   UNKNOWN_DP_ERROR              = 12
   ACCESS_DENIED                 = 13
   DP_OUT_OF_MEMORY              = 14
   DISK_FULL                     = 15
   DP_TIMEOUT                    = 16
   OTHERS                        = 17
          .
IF sy-subrc <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

**********************************************************************
*                DATA POPULATIONS                                    *
**********************************************************************


LOOP AT  IT_MATMASTER.
  BAPIMATHEAD-MATERIAL = IT_MATMASTER-MATNR.
  BAPIMATHEAD-IND_SECTOR = IT_MATMASTER-Mbrsh.
  BAPIMATHEAD-MATL_TYPE = IT_MATMASTER-Mtart.
  BAPIMATHEAD-BASIC_VIEW = 'X'.
  BAPIMATHEAD-PURCHASE_VIEW = 'X'.
  BAPIMATHEAD-ACCOUNT_VIEW = 'X'.
  BAPI_MARA-MATL_GROUP = IT_MATMASTER-MATKL.
  BAPI_MARA-OLD_MAT_NO = IT_MATMASTER-BISMT.
  BAPI_MARA-BASE_UOM = IT_MATMASTER-MEINS.
  BAPI_MARA-BASIC_MATL = IT_MATMASTER-WRKST.
  BAPI_MARA-MFR_NO = IT_MATMASTER-MFRNR.
  BAPI_MARAX-MATL_GROUP = 'X'.
  BAPI_MARAX-OLD_MAT_NO = 'X'.
  BAPI_MARAX-BASE_UOM = 'X'.
  BAPI_MARAX-BASIC_MATL = 'X'.
  BAPI_MARAX-MFR_NO = 'X'.
  BAPI_MARC-PLANT = IT_MATMASTER-WERKS.
  BAPI_MARC-PUR_GROUP = IT_MATMASTER-EKGRP.
  BAPI_MARCX-PLANT = IT_MATMASTER-WERKS.
  BAPI_MARCX-PUR_GROUP = 'X'.
  IT_MATERIALDESC-LANGU = 'EN'.
  IT_MATERIALDESC-MATL_DESC = IT_MATMASTER-MAKTX.
  append IT_materialdesc.
  CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
    EXPORTING
      headdata                   = BAPIMATHEAD
      CLIENTDATA                 = BAPI_MARA
      CLIENTDATAX                = BAPI_MARAx
     PLANTDATA                  = BAPI_MARc
     PLANTDATAX                 = BAPI_MARcx
*     FORECASTPARAMETERS         =
*     FORECASTPARAMETERSX        =
*     PLANNINGDATA               =
*     PLANNINGDATAX              =
*     STORAGELOCATIONDATA        =
*     STORAGELOCATIONDATAX       =
*     VALUATIONDATA              =
*     VALUATIONDATAX             =
*     WAREHOUSENUMBERDATA        =
*     WAREHOUSENUMBERDATAX       =
*     SALESDATA                  =
*     SALESDATAX                 =
*     STORAGETYPEDATA            =
*     STORAGETYPEDATAX           =
*     FLAG_ONLINE                = ' '
*     FLAG_CAD_CALL              = ' '
   IMPORTING
     RETURN                     = IT_RETURN
   TABLES
     MATERIALDESCRIPTION        = IT_MATERIALDESC
*     UNITSOFMEASURE             =
*     UNITSOFMEASUREX            =
*     INTERNATIONALARTNOS        =
*     MATERIALLONGTEXT           =
*     TAXCLASSIFICATIONS         =
*     RETURNMESSAGES             =
*     PRTDATA                    =
*     PRTDATAX                   =
*     EXTENSIONIN                =
*     EXTENSIONINX               =
            .

 WRITE:/    IT_RETURN-TYPE,
        2   IT_RETURN-ID,
        22  IT_RETURN-NUMBER,
        25  IT_RETURN-MESSAGE.
*            IT_RETURN-LOG_NO,
*            IT_RETURN-LOG_MSG_NO,
*            IT_RETURN-MESSAGE_V1,
*            IT_RETURN-MESSAGE_V2,
*            IT_RETURN-MESSAGE_V3,
*            IT_RETURN-MESSAGE_V4,
*            IT_RETURN-PARAMETER,
*            IT_RETURN-ROW,
*            IT_RETURN-FIELD,
*            IT_RETURN-SYSTEM.

ENDLOOP.

Regards

vijay

Former Member
0 Kudos

Hai Kiran

check with this code

include bdcrecx1.

tables : mara.

data : begin of it_mara occurs 0,

matnr like mara-matnr,

mbrsh like mara-mbrsh,

mtart like mara-mtart,

maktx like makt-maktx,

meins like mara-meins,

end of it_mara.

start-of-selection.

perform upload_data.

perform open_group.

loop at it_mara.

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'

it_mara-matnr.

perform bdc_field using 'RMMG1-MBRSH'

it_mara-mbrsh.

perform bdc_field using 'RMMG1-MTART'

it_mara-mtart.

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'

'=BU'.

perform bdc_field using 'MAKT-MAKTX'

it_mara-maktx.

perform bdc_field using 'BDC_CURSOR'

'MARA-MEINS'.

perform bdc_field using 'MARA-MEINS'

it_mara-meins.

perform bdc_field using 'MARA-MTPOS_MARA'

'NORM'.

perform bdc_transaction using 'MM01'.

endloop.

perform close_group.

&----


*& Form upload_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM upload_data .

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'c:\mat_bdc.txt'

FILETYPE = 'ASC'

TABLES

DATA_TAB = it_mara.

IF SY-SUBRC = 0.

SORT IT_MARA BY MATNR.

ENDIF.

ENDFORM. " upload_data

flat file structure is

PRANIT_011 CCOUP This is Testing material kg

PRANIT_012 CCOUP This is Testing material kg

PRANIT_013 CCOUP This is Testing material kg

PRANIT_014 CCOUP This is Testing material kg

PRANIT_015 CCOUP This is Testing material kg

when your selecting views

this particular material will belongs to Po/Sales or some other areas .

when you select basic 1 --it gives description

select basic 2 -- it gives tax ,amount, base unit of measurement

Thanks & Regards

Sreenivasulu P