Skip to Content
0
May 12, 2008 at 04:19 AM

Storage location Data is not saving in table MARD using BAPI method.

748 Views

Hi Experts,

TABLES: T001L, "Storage Locations

MARA, "General Material Data

MAKT, "Material Descriptions

MBEW, "Material Valuation

MARC, "Plant Data for Material

MARD. "Storage Location Data for Mate

DATA: BAPI_HEAD LIKE BAPIMATHEAD, "MATERIAL

BAPI_MAKT LIKE BAPI_MAKT, "Material Description

BAPI_MARA1 LIKE BAPI_MARA, "Client Data

BAPI_MARAX LIKE BAPI_MARAX,

BAPI_MARC1 LIKE BAPI_MARC, "Plant View

BAPI_MARCX LIKE BAPI_MARCX,

BAPI_MBEW1 LIKE BAPI_MBEW, "Accounting View

BAPI_MBEWX LIKE BAPI_MBEWX,

BAPI_MARD1 LIKE BAPI_MARD, "Storage location

BAPI_MARDX LIKE BAPI_MARDX,

BAPI_RETURN LIKE BAPIRET2.

DATA: BEGIN OF INT_MAKT OCCURS 100.

INCLUDE STRUCTURE BAPI_MAKT.

DATA: END OF INT_MAKT.

DATA: BEGIN OF INT_MAT OCCURS 100,

WERKS(4), "Plant

LGORT(4), "Storage location

MTART(4), "Material type

MATNR(18), "Material number

MAKTX(40), "Material description

MATKL(9) , "Material group

MBRSH(1), "Industry sector

MEINS(3), "Base unit of measure

GEWEI(3), "Weight Unit

SPART(2), "Division

EKGRP(3), "Purchasing group

VPRSV(1), "Price control indicator

STPRS(12), "Standard price

PEINH(3), "Price unit

SPRAS(2), "Language key

BKLAS(4), "VALUATION CLASS

VERPR TYPE VERPR_BAPI, "MOVING PRICE

BWTTY(1), "Valuation Catogory

MLAST(1), "Price determination

MLMAA(1), "Material Ledger

EKLAS(4), "Valuation Class for sales order stock

QKLAS(4), "Valuation Class for Project Stock

ZKPRS TYPE DZKPRS, "Future price

ZKDAT TYPE DZKDAT, "Valid From Date

BWPRS TYPE BWPRS, "Tax price 1

BWPS1 TYPE BWPS1, "Tax price 2

VJBWS TYPE VJBWS, "Tax price 3

ABWKZ TYPE ABWKZ, "Devaluatin indicator

BWPRH TYPE BWPRH, "Commercial price 1

BWPH1 TYPE BWPH1, "Commercial price 2

VJBWH TYPE VJBWH, "Commercial Price 3

XLIFO(1), "LIFO/FIFO revelant

MYPOL(4), "Pool no for LIFO

MMSTA(2), "Plant specific material status

AUSME TYPE AUSME, "Unit of issue

QMATA(6), "Material Authorization group

RBNRM(9), "Catalog Profile

WEBAZ TYPE WEBAZ, "Goods reciept processing time in days

PRFRQ TYPE PRFRQ, "Recurring Insepction

SSQSS(8), "QM Control key

QZGTP(4), "Certificate Type

QSSYS(4), "Required QM system for vendor

END OF INT_MAT.

DATA: V_MATNR TYPE MARA-MATNR.

SELECT-OPTIONS:

PLANT FOR MARC-WERKS OBLIGATORY MEMORY ID PLT,

S_LGORT FOR MARD-LGORT MEMORY ID STL,

MATERIAL FOR MARA-MATNR MEMORY ID MAT,

MATLTYPE FOR MARA-MTART MEMORY ID MTY,

DIVISION FOR MARA-SPART MEMORY ID DIV.

PARAMETERS: F_FILE LIKE RLGRAP-FILENAME

DEFAULT 'C:\DATA\ZMATERIAL.XLS' MEMORY ID F_FILE,

GETDATA AS CHECKBOX, "Tick to download materials data to local harddisk

UPDDATA AS CHECKBOX. "Tick to update date to Materials Master

IF GETDATA = 'X'.

PERFORM DOWNLOAD_DATA.

PERFORM DOWNLOAD_FILE.

ENDIF.

IF UPDDATA = 'X'.

PERFORM UPLOAD_FILE.

PERFORM UPDATE_MM.

ENDIF.

FORM DOWNLOAD_DATA.

SELECT * FROM MARC WHERE LVORM EQ ' '

AND WERKS IN PLANT

AND MATNR IN MATERIAL.

CLEAR MARA.

SELECT SINGLE * FROM MARA WHERE MATNR = MARC-MATNR.

CHECK MATLTYPE.

CHECK DIVISION.

CLEAR MBEW.

SELECT SINGLE * FROM MBEW WHERE MATNR = MARC-MATNR

AND BWKEY = MARC-WERKS.

CLEAR MAKT.

SELECT SINGLE * FROM MAKT WHERE SPRAS = 'EN'

AND MATNR = MARC-MATNR.

CLEAR MARD.

SELECT SINGLE * FROM MARD WHERE WERKS IN PLANT

AND LGORT IN S_LGORT.

WRITE:/ MARC-WERKS, "Plant

MARD-LGORT, "Storage location

MARA-MTART, "Material type

MARA-MATNR, "Material number

MARA-MATKL, "Material group

MARA-MBRSH, "Industry sector

MARA-MEINS, "Base unit of measure

MARA-GEWEI, "Weight Unit

MARA-SPART, "Division

MARC-EKGRP, "Purchasing group

MBEW-VPRSV, "Price control indicator

MBEW-STPRS, "Standard price

MBEW-PEINH, "Price unit

MBEW-BKLAS, "VALUE CLASS

MAKT-SPRAS, "Language key

MBEW-BKLAS, "Valuation Class

MBEW-VERPR, "Moving price

MAKT-MAKTX, "Material description

MBEW-BWTTY, "Valutaion Catogorey

MBEW-MLAST, "Price Determination

MBEW-MLMAA, "Material Ledger

MBEW-EKLAS, "Valuation class for Sales order stock

MBEW-QKLAS, "Valutaion Class for Project Stock

MBEW-ZKPRS, "Future Price

MBEW-ZKDAT, "Valid From Date

MBEW-BWPRS, "Tax price 1

MBEW-BWPS1, "Tax price 2

MBEW-VJBWS, "Tax price 3

MBEW-ABWKZ, "Devaluatin indicator

MBEW-BWPRH, "Commercial price 1

MBEW-BWPH1, "Commercial price 2

MBEW-VJBWH, "Commercial Price 3

MBEW-XLIFO, "LIFO/FIFO revelant

MBEW-MYPOL, "Pool no for LIFO

MARC-MMSTA, "Plant specific material status

MARC-AUSME, "Unit of issue

MARC-QMATA, "Material Authorization group

MARA-RBNRM, "Catalog Profile

MARC-WEBAZ, "Goods reciept processing time in days

MARC-PRFRQ, "Recurring Insepction

MARC-SSQSS, "QM Control key

MARC-QZGTP, "Certificate Type

MARC-QSSYS. "Required QM system for vendor

INT_MAT-WERKS = MARC-WERKS. "Plant

INT_MAT-LGORT = MARD-LGORT. "Storage Location

INT_MAT-MTART = MARA-MTART. "Material type

INT_MAT-MATNR = MARA-MATNR. "Material number

INT_MAT-MAKTX = MAKT-MAKTX. "Material description

INT_MAT-MATKL = MARA-MATKL. "Material group

INT_MAT-MBRSH = MARA-MBRSH. "Industry sector

INT_MAT-MEINS = MARA-MEINS. "Base unit of measure

INT_MAT-GEWEI = MARA-GEWEI. "Weight Unit

INT_MAT-SPART = MARA-SPART. "Division

INT_MAT-EKGRP = MARC-EKGRP. "Purchasing group

INT_MAT-VPRSV = MBEW-VPRSV. "Price control indicator

INT_MAT-STPRS = MBEW-STPRS. "Standard price

INT_MAT-PEINH = MBEW-PEINH. "Price unit

INT_MAT-SPRAS = MAKT-SPRAS. "Language key

INT_MAT-BKLAS = MBEW-BKLAS. "VALVATION CLASS

INT_MAT-VERPR = MBEW-VERPR. "MOVING price

INT_MAT-BWTTY = MBEW-BWTTY. "Valutaion Catogorey

INT_MAT-MLAST = MBEW-MLAST. "Price Determination

INT_MAT-MLMAA = MBEW-MLMAA. "Material Ledger

INT_MAT-EKLAS = MBEW-EKLAS. "Valuation class forS.O Stock

INT_MAT-QKLAS = MBEW-QKLAS. "Valutaion Class for Project

INT_MAT-ZKPRS = MBEW-ZKPRS. "Future Price

INT_MAT-ZKDAT = MBEW-ZKDAT. "Valid From Date

INT_MAT-BWPRS = MBEW-BWPRS. "Tax price 1

INT_MAT-BWPS1 = MBEW-BWPS1. "Tax price 2

INT_MAT-VJBWS = MBEW-VJBWS. "Tax price 3

INT_MAT-ABWKZ = MBEW-ABWKZ. "Devaluatin indicator

INT_MAT-BWPRH = MBEW-BWPRH. "Commercial price 1

INT_MAT-BWPH1 = MBEW-BWPH1. "Commercial price 2

INT_MAT-VJBWH = MBEW-VJBWH. "Commercial Price 3

INT_MAT-XLIFO = MBEW-XLIFO. "LIFO/FIFO revelant

INT_MAT-MYPOL = MBEW-MYPOL. "Pool no for LIFO

INT_MAT-MMSTA = MARC-MMSTA. "Plant specific material

INT_MAT-AUSME = MARC-AUSME. "Unit of issue

INT_MAT-QMATA = MARC-QMATA. "Material Authorization group

INT_MAT-RBNRM = MARA-RBNRM. "Catalog Profile

INT_MAT-WEBAZ = MARC-WEBAZ. "Goods reciept processing

INT_MAT-PRFRQ = MARC-PRFRQ. "Recurring Insepction

INT_MAT-SSQSS = MARC-SSQSS. "QM Control key

INT_MAT-QZGTP = MARC-QZGTP. "Certificate Type

INT_MAT-QSSYS = MARC-QSSYS. "Required QM system for

APPEND INT_MAT.

CLEAR INT_MAT.

ENDSELECT.

ENDFORM.

FORM DOWNLOAD_FILE.

call function 'WS_DOWNLOAD'

EXPORTING

FILENAME = F_FILE

FILETYPE = 'DAT'

  • FILETYPE = 'WK1'

tables

data_tab = INT_MAT

EXCEPTIONS

FILE_OPEN_ERROR = 1

FILE_WRITE_ERROR = 2

INVALID_FILESIZE = 3

INVALID_TYPE = 4

NO_BATCH = 5

UNKNOWN_ERROR = 6

INVALID_TABLE_WIDTH = 7

GUI_REFUSE_FILETRANSFER = 8

CUSTOMER_ERROR = 9

OTHERS = 10.

IF SY-SUBRC = 0.

FORMAT COLOR COL_GROUP.

WRITE:/ 'Data Download Successfully to your local harddisk'.

SKIP.

ENDIF.

ENDFORM.

FORM UPLOAD_FILE.

call function 'WS_UPLOAD'

EXPORTING

FILENAME = F_FILE

FILETYPE = 'DAT'

  • FILETYPE = 'WK1'

tables

data_tab = INT_MAT

EXCEPTIONS

FILE_OPEN_ERROR = 1

FILE_WRITE_ERROR = 2

INVALID_FILESIZE = 3

INVALID_TYPE = 4

NO_BATCH = 5

UNKNOWN_ERROR = 6

INVALID_TABLE_WIDTH = 7

GUI_REFUSE_FILETRANSFER = 8

CUSTOMER_ERROR = 9

OTHERS = 10.

IF SY-SUBRC = 0.

FORMAT COLOR COL_GROUP.

WRITE:/ 'Data Upload Successfully from your local harddisk'.

SKIP.

ENDIF.

ENDFORM.

FORM UPDATE_MM.

LOOP AT INT_MAT.

CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'

EXPORTING

INPUT = INT_MAT-MATNR

IMPORTING

OUTPUT = INT_MAT-MATNR

  • EXCEPTIONS

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

  • Header

BAPI_HEAD-MATERIAL = INT_MAT-MATNR.

BAPI_HEAD-IND_SECTOR = INT_MAT-MBRSH.

BAPI_HEAD-MATL_TYPE = INT_MAT-MTART.

BAPI_HEAD-BASIC_VIEW = 'X'.

BAPI_HEAD-PURCHASE_VIEW = 'X'.

BAPI_HEAD-ACCOUNT_VIEW = 'X'.

  • Material Description

REFRESH INT_MAKT.

INT_MAKT-LANGU = INT_MAT-SPRAS.

INT_MAKT-MATL_DESC = INT_MAT-MAKTX.

APPEND INT_MAKT.

  • Client Data - Basic

BAPI_MARA1-MATL_GROUP = INT_MAT-MATKL.

BAPI_MARA1-BASE_UOM = INT_MAT-MEINS.

BAPI_MARA1-UNIT_OF_WT = INT_MAT-GEWEI.

BAPI_MARA1-DIVISION = INT_MAT-SPART.

BAPI_MARAX-MATL_GROUP = 'X'.

BAPI_MARAX-BASE_UOM = 'X'.

BAPI_MARAX-UNIT_OF_WT = 'X'.

BAPI_MARAX-DIVISION = 'X'.

  • Plant - Purchasing

BAPI_MARC1-PLANT = INT_MAT-WERKS.

BAPI_MARC1-PUR_GROUP = INT_MAT-EKGRP.

BAPI_MARC1-PUR_STATUS = INT_MAT-MMSTA.

BAPI_MARC1-ISSUE_UNIT = INT_MAT-AUSME.

BAPI_MARC1-QM_AUTHGRP = INT_MAT-QMATA.

BAPI_MARC1-GR_PR_TIME = INT_MAT-WEBAZ.

BAPI_MARC1-INSP_INT = INT_MAT-PRFRQ.

BAPI_MARC1-CTRL_KEY = INT_MAT-SSQSS.

BAPI_MARC1-CERT_TYPE = INT_MAT-QZGTP.

BAPI_MARC1-QM_RGMTS = INT_MAT-QSSYS.

BAPI_MARCX-PLANT = INT_MAT-WERKS.

BAPI_MARCX-PUR_GROUP = 'X'.

BAPI_MARCX-PUR_STATUS = 'X'.

BAPI_MARCX-ISSUE_UNIT = 'X'.

BAPI_MARCX-QM_AUTHGRP = 'X'.

BAPI_MARCX-GR_PR_TIME = 'X'.

BAPI_MARCX-INSP_INT = 'X'.

BAPI_MARCX-CTRL_KEY = 'X'.

BAPI_MARCX-CERT_TYPE = 'X'.

BAPI_MARCX-QM_RGMTS = 'X'.

  • Accounting 1

BAPI_MBEW1-VAL_AREA = INT_MAT-WERKS.

BAPI_MBEW1-PRICE_CTRL = INT_MAT-VPRSV.

BAPI_MBEW1-STD_PRICE = INT_MAT-STPRS.

BAPI_MBEW1-PRICE_UNIT = INT_MAT-PEINH.

BAPI_MBEW1-MOVING_PR = INT_MAT-VERPR.

BAPI_MBEW1-VAL_CLASS = INT_MAT-BKLAS.

BAPI_MBEW1-VAL_CAT = INT_MAT-BWTTY.

BAPI_MBEW1-ML_SETTLE = INT_MAT-MLAST.

BAPI_MBEW1-ML_ACTIVE = INT_MAT-MLMAA.

BAPI_MBEW1-VM_SO_STK = INT_MAT-EKLAS.

BAPI_MBEW1-VM_P_STOCK = INT_MAT-QKLAS.

BAPI_MBEW1-FUTURE_PR = INT_MAT-ZKPRS.

BAPI_MBEW1-VALID_FROM = INT_MAT-ZKDAT.

*ACCOUNTING 2

BAPI_MBEW1-TAXPRICE_1 = INT_MAT-BWPRS.

BAPI_MBEW1-TAXPRICE_2 = INT_MAT-BWPS1.

BAPI_MBEW1-TAXPRICE_3 = INT_MAT-VJBWS.

BAPI_MBEW1-DEVAL_IND = INT_MAT-ABWKZ.

BAPI_MBEW1-COMMPRICE1 = INT_MAT-BWPRH.

BAPI_MBEW1-COMMPRICE2 = INT_MAT-BWPH1.

BAPI_MBEW1-COMMPRICE3 = INT_MAT-VJBWH.

BAPI_MBEW1-LIFO_FIFO = INT_MAT-XLIFO.

BAPI_MBEW1-POOLNUMBER = INT_MAT-MYPOL.

BAPI_MBEWX-VAL_AREA = INT_MAT-WERKS.

BAPI_MBEWX-PRICE_CTRL = 'X'.

BAPI_MBEWX-STD_PRICE = 'X'.

BAPI_MBEWX-PRICE_UNIT = 'X'.

BAPI_MBEWX-MOVING_PR = 'X'.

BAPI_MBEWX-VAL_CLASS = 'X'.

BAPI_MBEWX-VAL_CAT = 'x'.

BAPI_MBEWX-ML_SETTLE = 'X'.

BAPI_MBEWX-ML_ACTIVE = 'X'.

BAPI_MBEWX-VM_SO_STK = 'X'.

BAPI_MBEWX-VM_P_STOCK = 'X'.

BAPI_MBEWX-FUTURE_PR = 'X'.

BAPI_MBEWX-VALID_FROM = 'X'.

BAPI_MBEWX-TAXPRICE_1 = 'X'.

BAPI_MBEWX-TAXPRICE_2 = 'X'.

BAPI_MBEWX-TAXPRICE_3 = 'X'.

BAPI_MBEWX-DEVAL_IND = 'X'.

BAPI_MBEWX-COMMPRICE1 = 'X'.

BAPI_MBEWX-COMMPRICE2 = 'X'.

BAPI_MBEWX-COMMPRICE3 = 'X'.

BAPI_MBEWX-LIFO_FIFO = 'X'.

BAPI_MBEWX-POOLNUMBER = 'X'.

*Storage Locations

BAPI_MARD1-PLANT = INT_MAT-WERKS.

BAPI_MARD1-STGE_LOC = INT_MAT-LGORT.

BAPI_MARDX-PLANT = INT_MAT-WERKS.

BAPI_MARDX-STGE_LOC = INT_MAT-LGORT.

WRITE:/ BAPI_HEAD-MATERIAL, BAPI_MARC1-PLANT ,BAPI_MARD1-STGE_LOC.

call function 'BAPI_MATERIAL_SAVEDATA'

exporting

HEADDATA = BAPI_HEAD

CLIENTDATA = BAPI_MARA1

CLIENTDATAX = BAPI_MARAX

PLANTDATA = BAPI_MARC1

PLANTDATAX = BAPI_MARCX

  • FORECASTPARAMETERS =

  • FORECASTPARAMETERSX =

  • PLANNINGDATA =

  • PLANNINGDATAX =

<b> STORAGELOCATIONDATA = BAPI_MARD1

STORAGELOCATIONDATAX = BAPI_MARDX</b>

VALUATIONDATA = BAPI_MBEW1

VALUATIONDATAX = BAPI_MBEWX

  • WAREHOUSENUMBERDATA =

  • WAREHOUSENUMBERDATAX =

  • SALESDATA = BAPI_MVKE1

  • SALESDATAX = BAPI_MVKEX

  • STORAGETYPEDATA =

  • STORAGETYPEDATAX =

IMPORTING

RETURN = BAPI_RETURN

TABLES

MATERIALDESCRIPTION = INT_MAKT

  • UNITSOFMEASURE =

  • UNITSOFMEASUREX =

  • INTERNATIONALARTNOS =

  • MATERIALLONGTEXT =

  • TAXCLASSIFICATIONS =

  • RETURNMESSAGES =

  • PRTDATA =

  • PRTDATAX =

  • EXTENSIONIN =

  • EXTENSIONINX =

.

IF BAPI_RETURN-TYPE = 'E'.

WRITE:/ 'Error Message ', BAPI_RETURN-MESSAGE.

ENDIF.

ENDLOOP.

ENDFORM.

<b>i am using this bapi method to copy materials from one plant to another plant using storage location so here what happenig is everyting is going correct but only the storage location data is not saving in table mard so any body faced this kind of problem please tell me.... and one more dbt

bapi_marcx-pur_status = 'x' what is 'X' here??? is that mandatory field or required field ???

points wil be rewarded.

reagrds,

sunil k airam.