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

Key fields for use data VALUATIONDATA and checkbox structure VALUATIONDATAX are different while extending material from one plant to another plant

Former Member
0 Likes
6,073

Hi All,

I'm trying to extend material from onr plant to another plant , but while extending i'm facing the below error

Key fields for use data VALUATIONDATA and checkbox structure VALUATIONDATAX are different

But im passing all key fields ..

Pl help me with helpful suggestions

*&---------------------------------------------------------------------*

*& Report  ZDRL_MATERIAL_EXT

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZDRL_MATERIAL_EXT.

PARAMETERS MATERIAL LIKE  BAPI_MARA_GA-MATERIAL.

PARAMETERS : MAT_TYPE TYPE BAPI_MARA_GA-MATL_TYPE,

              PLANT    TYPE BAPI_MARC-PLANT,

              STGE_LOC TYPE BAPI_MARD-STGE_LOC,

              VKORG    TYPE VKORG,

              IND_SEC  TYPE BAPI_MARA_GA-IND_SECTOR,

              PFT_CTR  TYPE BAPI_MARC-PROFIT_CTR,

              MAT_GRP  TYPE BAPI_MARA-MATL_GROUP,

              MAT_DESC TYPE MAKT-MAKTX,

              PUR_ORDR TYPE MARC-EKGRP,

              MEINS    TYPE BAPI_MARA-BASE_UOM,

              DIVISION TYPE BAPI_MARA-DIVISION.

DATA:       CLIDAINP             LIKE  BAPI_MARA_GA,

             BAPI_MARA1           LIKE  BAPI_MARA,

             BAPI_MARAX           LIKE  BAPI_MARAX,

             HEADDATA             LIKE  BAPIMATHEAD,

             RETURN               LIKE  BAPIRET2,

             BAPI_PLANTDATA       LIKE BAPI_MARC_GA,

             SALESDATA            LIKE BAPI_MVKE,

             SALESDATAX           LIKE BAPI_MVKEX,

             PLANTDATA            LIKE BAPI_MARC,

             PLANTDATAX           LIKE BAPI_MARCX,

             BAPI_PLANTDATAX      LIKE  BAPI_MARCX,

             STORAGELOCATIONDATA  LIKE BAPI_MARD,

             STORAGELOCATIONDATAX LIKE BAPI_MARDX,

             VALUATIONDATA        LIKE  BAPI_MBEW,

             VALUATIONDATAX       LIKE  BAPI_MBEWX,

             UNITOFMEASURE        TYPE TABLE OF  BAPI_MARM,

             LS_UNITOFMEASURE     TYPE  BAPI_MARM,

             UNITOFMEASUREX       TYPE TABLE OF  BAPI_MARMX,

             LS_UNITOFMEASUREX    TYPE BAPI_MARMX,

             RETURNMES            LIKE BAPI_MATRETURN2 OCCURS 0 WITH HEADER LINE.

DATA : IT_MAKT TYPE TABLE OF BAPI_MAKT,

        LS_MAKT TYPE BAPI_MAKT.

* Header Data: Material and View to maintain

   HEADDATA-MATERIAL       = MATERIAL.

   HEADDATA-BASIC_VIEW     = 'X'.

   HEADDATA-STORAGE_VIEW   = 'X'.

   HEADDATA-SALES_VIEW     = 'X'.

   HEADDATA-PURCHASE_VIEW  = 'X'.

   HEADDATA-IND_SECTOR     = IND_SEC.

   HEADDATA-MATL_TYPE      = MAT_TYPE.

   HEADDATA-MRP_VIEW       = 'X'.

   HEADDATA-ACCOUNT_VIEW   = 'X'.

   HEADDATA-COST_VIEW      = 'X'.

*headdata-account_view

   BAPI_MARAX-MATL_GROUP = 'X'.

   BAPI_MARAX-BASE_UOM   = 'X'.

   BAPI_MARAX-UNIT_OF_WT = 'X'.

   BAPI_MARAX-DIVISION   = 'X'.

   BAPI_MARAX-PUR_VALKEY = 'X'.

* Material Description and Lang

   LS_MAKT-LANGU     = SY-LANGU.

   LS_MAKT-MATL_DESC = MAT_DESC.

   BAPI_MARA1-BATCH_MGMT = 'X'.

   BAPI_MARAX-BATCH_MGMT = 'X'.

   BAPI_MARA1-PROD_HIER = 'ND'.

   BAPI_MARAX-PROD_HIER = 'X'.

* Append material description

   APPEND LS_MAKT TO IT_MAKT.

* Client Data - Basic

   BAPI_MARA1-MATL_GROUP     = MAT_GRP.

* Detail Data: Field Value, and 'X'-Structure to mark the field for maintenance

   BAPI_MARA1-NET_WEIGHT  = 20 * 2.

   BAPI_MARA1-UNIT_OF_WT  = 'KG'.

   BAPI_MARA1-PUR_VALKEY  = '1'.

   BAPI_MARAX-NET_WEIGHT  = 'X'.

   BAPI_MARAX-UNIT_OF_WT  = 'X'.

   BAPI_MARAX-PUR_VALKEY  = 'X'.

   BAPI_MARA1-BASE_UOM    = MEINS.

   BAPI_MARA1-DIVISION    = DIVISION.

* Plant data1

   PLANTDATA-PLANT = PLANT.

   PLANTDATA-MRP_TYPE    = 'M0'.

   PLANTDATAX-MRP_TYPE   = 'X'.

   PLANTDATA-MRP_CTRLER  = '001'.

   PLANTDATAX-MRP_CTRLER = 'X'.

*CX_SY_CONVERSION_NO_NUMBER

   PLANTDATA-LOTSIZEKEY  = 'EX'.

   PLANTDATA-LOT_SIZE    = '01'.

   PLANTDATAX-LOT_SIZE   = 'X'.

   PLANTDATAX-LOTSIZEKEY = 'X'.

   PLANTDATA-PROC_TYPE   = 'X'.

   PLANTDATAX-PROC_TYPE  = 'X'.

   PLANTDATA-PUR_GROUP   = PUR_ORDR.

   PLANTDATA-AVAILCHECK  = '01'.

   PLANTDATA-BATCH_MGMT  = 'X'.

   PLANTDATAX-PLANT      = PLANT.

   PLANTDATA-PROFIT_CTR  = PFT_CTR.

   PLANTDATAX-PROFIT_CTR = 'X'.

   PLANTDATAX-AVAILCHECK = 'X'.

   PLANTDATAX-PUR_GROUP  = 'X'.

   PLANTDATA-SM_KEY      = '000'.

   PLANTDATAX-SM_KEY     = 'X'.

   PLANTDATA-INHSEPRODT  = '365'.

   PLANTDATAX-INHSEPRODT = '365'.

   PLANTDATA-PERIOD_IND  = 'M'.

   PLANTDATAX-PERIOD_IND = 'X'.

   PLANTDATA-GRP_REQMTS   = 'T'.

   PLANTDATAX-GRP_REQMTS  = 'X'.

* Storage location

   STORAGELOCATIONDATA-PLANT    = PLANT.

   STORAGELOCATIONDATA-STGE_LOC = STGE_LOC.

   STORAGELOCATIONDATAX-PLANT   = PLANT.

   STORAGELOCATIONDATAX-STGE_LOC = STGE_LOC.

   STORAGELOCATIONDATA-MRP_IND   = ''.

   STORAGELOCATIONDATAX-MRP_IND   = 'X'.

   STORAGELOCATIONDATAX-STGE_LOC = STGE_LOC.

* Sales Data

   SALESDATA-MATL_STATS = '1'.

   SALESDATA-ITEM_CAT   = 'NORM'.

   SALESDATA-SALES_UNIT = MEINS.

   SALESDATA-SALES_ORG  = VKORG.

   SALESDATA-DISTR_CHAN = '10'.

   SALESDATAX-DELY_UNIT = 'X'.

   SALESDATAX-ITEM_CAT  = 'X'.

   SALESDATAX-SALES_ORG  = VKORG.

   SALESDATAX-DISTR_CHAN = '10'.

   SALESDATAX-DELY_UOM   = 'X'.

   SALESDATAX-MATL_STATS = 'X'.

*--Tax classifications

   DATA : TAXCLASSIFICATIONS     TYPE BAPI_MLAN,

          LIT_TAXCLASSIFICATIONS TYPE TABLE OF BAPI_MLAN.

   TAXCLASSIFICATIONS-DEPCOUNTRY = 'DE'.

   TAXCLASSIFICATIONS-TAX_TYPE_1 = 'MWST'.

   TAXCLASSIFICATIONS-TAXCLASS_1 = '1'.

   APPEND TAXCLASSIFICATIONS TO LIT_TAXCLASSIFICATIONS.

* Valuation class

   VALUATIONDATA-VAL_AREA   = PLANT.

   VALUATIONDATAX-VAL_AREA  = '1001'.

*  VALUATIONDATA-PRICE_UNIT = 'KG'.

*  VALUATIONDATAX-PRICE_UNIT = 'X'.

   VALUATIONDATA-PRICE_CTRL = 'V'.

   VALUATIONDATAX-PRICE_CTRL = 'X'.

   VALUATIONDATA-VAL_CLASS  = '2001'."itab-val_class'.

   VALUATIONDATAX-VAL_CLASS = 'X'.

   VALUATIONDATA-VAL_CAT    = 'S'.

   VALUATIONDATAX-VAL_CAT    = 'X'.

   VALUATIONDATA-STD_PRICE  = '9470.01'. " not Mandatory field

   VALUATIONDATAX-STD_PRICE = 'X'.

   VALUATIONDATA-LIFO_FIFO  = 'X'.

   VALUATIONDATAX-LIFO_FIFO  = 'X'.

   VALUATIONDATA-PRICE_UNIT = '1'.

   VALUATIONDATAX-PRICE_UNIT = 'X'.

   VALUATIONDATA-OVERHEAD_GRP = '1001'.

   VALUATIONDATAX-OVERHEAD_GRP = 'X'.

   VALUATIONDATA-VAL_TYPE      = 'MFG-SFG'.

   VALUATIONDATAX-VAL_TYPE     = 'X'.

   VALUATIONDATA-ORIG_MAT     = MATERIAL.

   VALUATIONDATAX-ORIG_MAT    = 'X'.

* Alt Unit of measure

   LS_UNITOFMEASURE-ALT_UNIT = 'L'.

*  LS_UNITOFMEASURE-ALT_UNIT_ISO = 'L'.

   LS_UNITOFMEASURE-VOLUME   = '2'.

   LS_UNITOFMEASURE-NUMERATOR = '1'.

   LS_UNITOFMEASURE-DENOMINATR = '1'.

   LS_UNITOFMEASURE-VOLUMEUNIT = 'L'.

   LS_UNITOFMEASURE-GROSS_WT   = '1'.

   LS_UNITOFMEASURE-UNIT_OF_WT = 'KG'.

   APPEND LS_UNITOFMEASURE TO UNITOFMEASURE.

   LS_UNITOFMEASUREX-ALT_UNIT     = 'L'.

*  LS_UNITOFMEASUREX-ALT_UNIT_ISO = 'L'.

   LS_UNITOFMEASUREX-VOLUME       = 'X'.

   LS_UNITOFMEASUREX-NUMERATOR    = 'X'.

   LS_UNITOFMEASUREX-DENOMINATR   = 'X'.

   LS_UNITOFMEASUREX-VOLUMEUNIT   = 'X'.

   LS_UNITOFMEASUREX-GROSS_WT     = 'X'.

   LS_UNITOFMEASUREX-UNIT_OF_WT   = 'X'.

   APPEND LS_UNITOFMEASUREX TO UNITOFMEASUREX.

*--- BAPI to create material

   "MBEW-BKLAS/BAPI_MBEW-VAL_CLASS

   CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

     EXPORTING

       HEADDATA             = HEADDATA

       CLIENTDATA           = BAPI_MARA1

       CLIENTDATAX          = BAPI_MARAX

       PLANTDATA            = PLANTDATA

       VALUATIONDATA        = VALUATIONDATA

       VALUATIONDATAX       = VALUATIONDATAX

       STORAGELOCATIONDATA  = STORAGELOCATIONDATA

       STORAGELOCATIONDATAX = STORAGELOCATIONDATAX

       SALESDATA            = SALESDATA

       SALESDATAX           = SALESDATAX

       PLANTDATAX           = PLANTDATAX

     IMPORTING

       RETURN               = RETURN

     TABLES

       MATERIALDESCRIPTION  = IT_MAKT

       RETURNMESSAGES       = RETURNMES

       UNITSOFMEASURE       = UNITOFMEASURE

       UNITSOFMEASUREX      = UNITOFMEASUREX.

   IF RETURN-TYPE = 'E'.

     LOOP AT RETURNMES.

       WRITE: / RETURNMES-MESSAGE.

     ENDLOOP.

   ELSEIF RETURN-TYPE = 'S'.

     WRITE: 'Successfully created material' ,MATERIAL.

   ENDIF.

I have searched on sdn and googled , but no use...,

1 ACCEPTED SOLUTION
Read only

Arun_Prabhu_K
Active Contributor
3,909

Hello Lokeshwar.

     You should pass same plant value to valuationdata-val_area and valuationdatax-val_area

same valuation type to valuationdata-val_type and valuationdatax-val_type.

     By having a look at the structure via SE37, you can understand whether value needs to be passed or 'X'.

   VALUATIONDATA-VAL_AREA   = PLANT.

   VALUATIONDATAX-VAL_AREA  = PLANT.

   VALUATIONDATA-VAL_TYPE      = 'MFG-SFG'.

   VALUATIONDATAX-VAL_TYPE     = 'MFG-SFG'.

Regards.

Hello Lokeshwar.

     You should pass same plant value to valuationdata-val_area and valuationdatax-val_area

same valuation type to valuationdata-val_type and valuationdatax-val_type.

     By having a look at the structure via SE37, you can understand whether value needs to be passed or 'X'.

   VALUATIONDATA-VAL_AREA   = PLANT.

   VALUATIONDATAX-VAL_AREA  = PLANT.

   VALUATIONDATA-VAL_TYPE      = 'MFG-SFG'.

   VALUATIONDATAX-VAL_TYPE     = 'MFG-SFG'.

Regards.

9 REPLIES 9
Read only

Arun_Prabhu_K
Active Contributor
3,910

Hello Lokeshwar.

     You should pass same plant value to valuationdata-val_area and valuationdatax-val_area

same valuation type to valuationdata-val_type and valuationdatax-val_type.

     By having a look at the structure via SE37, you can understand whether value needs to be passed or 'X'.

   VALUATIONDATA-VAL_AREA   = PLANT.

   VALUATIONDATAX-VAL_AREA  = PLANT.

   VALUATIONDATA-VAL_TYPE      = 'MFG-SFG'.

   VALUATIONDATAX-VAL_TYPE     = 'MFG-SFG'.

Regards.

Read only

0 Likes
3,909

Hiie Arun Prabhu,

Thanks for ur suggestion but still i'm facing the same problem ,

Regards,

Lokeswar

Read only

0 Likes
3,909

Hiie ,

Still im facing the same issue , any other suggestions

Read only

0 Likes
3,909

Lokeshwar,

     I would suggest to get the material's data in existing plant via BAPI_MATERIAL_GETALL.

     Using this output, you can pass correctly data to each structure of BAPI_MATERIAL_SAVEDATA.

Read only

0 Likes
3,909

Hi Lokeswar,

if you have done what K.Arun Prabhu has said, please post again your corrected code for VALUATIONDATA and VALUATIONDATAX fields only. Maybe we can see your issue then.

Again fields VAL_AREA and VAL_TYPE need to have same content, there is no 'X' in VALUATIONDATAX for these two fields.

Regards,

Klaus

Read only

0 Likes
3,909

Hi Klaus Babl,

Pl find find the below Valuation and  fields which i'm passing :

* Valuation class

   VALUATIONDATA-VAL_AREA   = PLANT.

   VALUATIONDATAX-VAL_AREA  = '1001'.

   VALUATIONDATA-PRICE_CTRL = 'V'.

   VALUATIONDATAX-PRICE_CTRL = 'X'.

   VALUATIONDATA-VAL_CLASS  = '1003'."itab-val_class'.

   VALUATIONDATAX-VAL_CLASS = 'X'.

   VALUATIONDATA-VAL_CAT    = 'M'.

   VALUATIONDATAX-VAL_CAT    = 'X'.

   VALUATIONDATA-STD_PRICE  = '9470.01'. " not Mandatory field

   VALUATIONDATAX-STD_PRICE = 'X'.

   VALUATIONDATA-LIFO_FIFO  = 'X'.

   VALUATIONDATAX-LIFO_FIFO  = 'X'.

   VALUATIONDATA-PRICE_UNIT = '1'.

   VALUATIONDATAX-PRICE_UNIT = 'X'.

   VALUATIONDATA-OVERHEAD_GRP = '1001'.

   VALUATIONDATAX-OVERHEAD_GRP = 'X'.

   VALUATIONDATA-VAL_TYPE      = 'MFG-SFG'.

   VALUATIONDATAX-VAL_TYPE     = 'MFG-SFG'.

   VALUATIONDATA-ORIG_MAT     = MATERIAL.

   VALUATIONDATAX-ORIG_MAT    = 'X'.

Redards,

Lokeswar .

Read only

0 Likes
3,909

Hi,

that is still a different value for field VAL_AREA. Either take content of field PLANT or fix value '1001' for both VALUATONDATA and VALUATIONDATAX.

Regards,

Klaus

Read only

0 Likes
3,909

Hi ,

Both are same only , any how i have changed and now after doing some investigation it got solved .

I need once clarification :

while extending material , do i need to extend without valuation type ?

I'm facing the below error :

First create the valuation-type-independent data

Regards,

Lokeswar..,

Read only

0 Likes
3,909

Hiie Klaus Babl & Arun,

Tqs for ur valuable suggestions ,

Its working and i'm able to extend material ..,

Thanks & Regards,

Lokeswar .