Change of Valuation Class for the existing material

Hello,
I am facing the issue while trying to change the valuation class of the existing material.
The material type is 'NLAG' which is non stockable material. However, all the PO are account assigned to the G/L account & cost center. Hence there is no stock of the material exists to any plant/ SLOC.
There is no open PO/ schedule lines/ Production orders are exists for the material. Also there is no stock exists at any plant.  Even then system is throwing the message as 'The valuation class cannot be changed' (Message no. M3 368).
After debugging could see that it fetch the PO that are logically closed (has GR, IR, vendor payment has been made). 
We do not want to have the split valuation for that material.
The material is in existance for quite a long time, so could you please help me to change the valuation class?
Thanks in advance,
Samip Patil.

Hi Raju,
To resolve SAP error message M3 368 I would suggest that you refer to SAP note number 1967543. This note outlines the issue and a resolution to it:
Please have a look at the description of the error M3 368. This error may occur if one or more of the following already exist for the material:
1. Valuated stocks in the current period or in the previous period
2. Open purchase orders or delivery schedule lines
3. Production orders for which a goods movement has already taken place
Resolution:
If you have valuated stocks in the current period or in the previous period, you will get message "Stocks already exist.". You have to clear all the stocks both in current period and previous period. Please have a look at SAP Note 30656, it shows an example on how to clear the stocks in
previous period. You can use transaction MIGO to execute this step.
If you have open purchase orders or delivery schedule lines, you will get message "Purchase orders already exist.". You can find related purchase orders after you click 'Display Error' button. Please delete them in transaction ME22N.
If you have production orders for which a goods movement has already taken place, you will get message "Production orders already exist.". Please archive these production orders. You need to set deletion flag for these orders firstly and go to SARA, use archiving object PP_ORDER to archive
these orders.
Kind regards,
James

Similar Messages

  • Create new depreciation class for the existing asset

    Dear Experts,
    Please explain step by step:
    1. How to create a new depreciation class for the existing asset
    2. How to make a asset transfer to the new asset in the new asset class?
    Thank you in advance

    Hi,
    The pre-requsit of creating a new assets clause :-
    1. Co. code assigned to Chart of Dep.
    2. Dep areas have been defined
    3. GL account no. is not more than 8 digit.
    The transfer of an assets within the same co code can be done thru T.code ABUMN.
    Award if helpful
    Sunil

  • Error in Valuation class for a material

    Dear Friends,
    While assigning Valuation class for a material, system is throwing an error message " Enter the valuation class for the previous period/year".
    Please give me a solution.
    Thanks in advance.
    Bye,
    Varun Siddharth

    Dear All,
    My problem is solved.
    Thank you all once again.
    Bye,
    Varun Siddharth

  • Valuation class in the material master

    hi all, we maintain split valuation materials, namely domestic & imported. we are working on project based scenarion planning strategy 21 : MTO/project.
    in daily practice user convert unrestricted stock to project stock with 412 Q mvt type before MRP RUN.
    but for some when user try to convert stock following error occurs. I check stock available, it is available. but i do not understand why this error comes.                                                             
    Maintain the valuation class in the material master first
    Message no. M7232
    Diagnosis
    The system found that you have defined your own valuation classes for sales order stock and project stock in Customizing. However, these valuation classes have not been maintained in the material master record for the materials concerned.
    Procedure
    So that the relevant accounts can be posted upon goods movements, you have to maintain the valuation classes for sales order and project stock in the accounting view of the material master record for the material concerned.
    If you have authorization to do so, you can change the material master record.

    Hi,
    The normal valuation stock refer to relevant table valuation class field MBEW/MBEWH-BKLAS
    Special Sales Stock refert to MBEW/MBEWH-EKLAS
    Projeck Stock refer to MBEW/MBEWH-QKLAS
    Cheers,
    Girang

  • Valuation class for imports and domestic material

    Hi,
    We wanted to hit different GLs for domestic and Imported materials inventory and therefore we have defined two valuation classes for Domestic and Imported material and these  valuation classes are attached to respective materials in account view 1.
    But now our problem is , we have few materials which are procured from domestic market as well as Aboard market.
    Therefore now we are facing problem how to hit correct GLs based on the nature of procurement.
    Thx in advance...
    Regards
    Sandeep marwha

    use split valuation , since materail details is a master record we cant dupoicate .
    so use split valuation and give a diffrent valuation class which correcponds to a diff gl account .
    so when ver u create a Po givethe valuation type also , so that at Gr doing time , the stock will hit that gl act only. other wise will create issue , it will be grayed out while doin Gr .

  • Change material group for an existing material

    Hi all,
    What is the steps to change a material group for an existing material?
    Is there any impact on the reports if I were to change the material group of an existing material?
    Thanks and regards,
    JT

    Yes, You can change in MM02 and also while changing you will get the folloeing Warning message..
    You are changing material group, but material already used by purchasing
         Message no. M3531
    Procedure
         When changing the material group of a material that is already being
         used by the purchasing department, you should note that:
         o   The purchasing statistics show how much of a material group has
             already been ordered. Unitl the change is made, the material is
             managed under the old material group and therefore the old material
             group statistics are updated. From the moment the change is made,
             the new material group's statistics are updated.
         o   Some purchase orders may derive from contracts with item categories
             referring to material groups. If this is the case, the material
             cannot be used after the change has been made.
         o   Every purchase requisition is allocated to a release strategy that
             can depend on the material group. A new release strategy may apply
             to a new material group. Purchase requisitions that were created
             before the change are subject to the old strategy; purchase
             requisitions that were created after the change are subject to the
             new strategy.

  • Changing Valuation Type for Non Serialized Material

    Dear Experts,
    May i know how to change the valuation type for Non serialized Material.
    Scnerio :
    Issued New  Material from warehouse with Valuation type -C1,
    Once i used shop floor it damaged and now i want to return back to store with Valuation type C3.
    May i know how can i do this.
    Regards,
    Kavvya

    Hi Seenu,
    Actually when i am using t-code IE4N and changing the valuation type C1 to C3 without changing the valuation type the system return the material to store. But for serialized material first i changed the valuation type through IQ02 then i am using the IE4N.
    But  i dont know how can i cahnge the valuation type for Non serialized material.
    Also may i know why i am facing problem in IE4N, Is it required some configuration to directing changing the valuation type in IE4N itself.
    Kavvya

  • I have bought an used Iphone 5. I dont have the password for the existing login id of the old owner. How do i use the phone and change the log in id?

    I have bought an used Iphone 5. I dont have the password for the existing login id of the old owner. How do i use the phone and change the log in id?

    Unfortunatly the only way that you can get it off is to get the old user to input the password.  You may need to contact that old user and see if he can put the old password in.  hope this helps.

  • The system could not find a javax.ws.rs.ext.MessageBodyWriter or a DataSourceProvider class for the com.rest.assignment.EmpBean type and application/json mediaType.  Ensure that a javax.ws.rs.ext.MessageBodyWriter exists in the JAX-RS application for the

    Hi,
    Im trying to create a Rest WS with a @GET method that will return me an Emp object. I need the output as a JSON string.
    I have created a dynamic web project and added javax RS jars:
    When im trying to run this, i'm getting the below mentioned error:
    FlushResultHa E org.apache.wink.server.internal.handlers.FlushResultHandler handleResponse The system could not find a javax.ws.rs.ext.MessageBodyWriter or a DataSourceProvider class for the com.rest.assignment.EmpBean type and application/json mediaType.  Ensure that a javax.ws.rs.ext.MessageBodyWriter exists in the JAX-RS application for the type and media type specified.
    RequestProces I org.apache.wink.server.internal.RequestProcessor logException The following error occurred during the invocation of the handlers chain: WebApplicationException (500 - Internal Server Error)
    Please help as im stuck with this from long.
    Thanks in advance.
    Below is the code for my service class:
    package com.rest.assignment;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.util.Enumeration;
    import java.util.HashSet;
    import java.util.Properties;
    import java.util.Set;
    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    import javax.ws.rs.core.Application;
    import javax.ws.rs.core.MediaType;
    import javax.ws.rs.core.Response;
    @Path("/restService")
    public class RestService extends Application {   
        @GET
        @Path("/getEmpDetails")
        @Produces(MediaType.APPLICATION_JSON)
        public Response getStringResponse()
            EmpBean empBean = new EmpBean();
            String filePath = "C:/Program Files/IBM/workspace/HelloWorld/src/com/rest/resources/EmpData.properties";
            Properties properties = new Properties();
            try {
                properties.load(new FileInputStream(filePath));
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
             Enumeration e = properties.propertyNames();
             String result="";
            String[] empDetailsArr;
            while (e.hasMoreElements()) {
              String key = (String) e.nextElement();
              String empDetails = properties.getProperty(key);
              empDetailsArr=empDetails.split(",");    
              empBean.setFirstName(empDetailsArr[0]);
              empBean.setLastName(empDetailsArr[1]);
              empBean.setEmpId(empDetailsArr[2]);
              empBean.setDesignation(empDetailsArr[3]);
              empBean.setSkillSet(empDetailsArr[4]);
              result = empDetailsArr[1];
            //return empBean;
            return Response.ok(empBean).type(MediaType.APPLICATION_JSON_TYPE).build();
        @Override
        public Set<Class<?>> getClasses() {
            Set<Class<?>> classes = new HashSet<Class<?>>();
            classes.add(RestService.class);
            classes.add(EmpBean.class);
            return classes;
    and my empBean goes like this:
    package com.rest.assignment;
    public class EmpBean {
        private String firstName;
        private String lastName;
        private String empId;
        private String designation;
        private String skillSet;
        public String getFirstName() {
            return firstName;
        public void setFirstName(String firstName) {
            this.firstName = firstName;
        public String getLastName() {
            return lastName;
        public void setLastName(String lastName) {
            this.lastName = lastName;
        public String getEmpId() {
            return empId;
        public void setEmpId(String empId) {
            this.empId = empId;
        public String getDesignation() {
            return designation;
        public void setDesignation(String designation) {
            this.designation = designation;
        public String getSkillSet() {
            return skillSet;
        public void setSkillSet(String skillSet) {
            this.skillSet = skillSet;
    Web.xml goes like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <display-name>restWS</display-name>
    <welcome-file-list>
      <welcome-file>index.html</welcome-file>
      <welcome-file>index.htm</welcome-file>
      <welcome-file>index.jsp</welcome-file>
      <welcome-file>default.html</welcome-file>
      <welcome-file>default.htm</welcome-file>
      <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
      <servlet-name>REST</servlet-name>
      <servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
      <init-param>
       <param-name>javax.ws.rs.Application</param-name>
       <param-value>com.rest.assignment.RestService</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
      <servlet-name>REST</servlet-name>
      <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>
    </web-app>
    When i try to return a string from my get method, it gives me a proper response. i get this exception when im trying to return a JSON response.

    Hi,
    Im trying to create a Rest WS with a @GET method that will return me an Emp object. I need the output as a JSON string.
    I have created a dynamic web project and added javax RS jars:
    When im trying to run this, i'm getting the below mentioned error:
    FlushResultHa E org.apache.wink.server.internal.handlers.FlushResultHandler handleResponse The system could not find a javax.ws.rs.ext.MessageBodyWriter or a DataSourceProvider class for the com.rest.assignment.EmpBean type and application/json mediaType.  Ensure that a javax.ws.rs.ext.MessageBodyWriter exists in the JAX-RS application for the type and media type specified.
    RequestProces I org.apache.wink.server.internal.RequestProcessor logException The following error occurred during the invocation of the handlers chain: WebApplicationException (500 - Internal Server Error)
    Please help as im stuck with this from long.
    Thanks in advance.
    Below is the code for my service class:
    package com.rest.assignment;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.util.Enumeration;
    import java.util.HashSet;
    import java.util.Properties;
    import java.util.Set;
    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    import javax.ws.rs.core.Application;
    import javax.ws.rs.core.MediaType;
    import javax.ws.rs.core.Response;
    @Path("/restService")
    public class RestService extends Application {   
        @GET
        @Path("/getEmpDetails")
        @Produces(MediaType.APPLICATION_JSON)
        public Response getStringResponse()
            EmpBean empBean = new EmpBean();
            String filePath = "C:/Program Files/IBM/workspace/HelloWorld/src/com/rest/resources/EmpData.properties";
            Properties properties = new Properties();
            try {
                properties.load(new FileInputStream(filePath));
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
             Enumeration e = properties.propertyNames();
             String result="";
            String[] empDetailsArr;
            while (e.hasMoreElements()) {
              String key = (String) e.nextElement();
              String empDetails = properties.getProperty(key);
              empDetailsArr=empDetails.split(",");    
              empBean.setFirstName(empDetailsArr[0]);
              empBean.setLastName(empDetailsArr[1]);
              empBean.setEmpId(empDetailsArr[2]);
              empBean.setDesignation(empDetailsArr[3]);
              empBean.setSkillSet(empDetailsArr[4]);
              result = empDetailsArr[1];
            //return empBean;
            return Response.ok(empBean).type(MediaType.APPLICATION_JSON_TYPE).build();
        @Override
        public Set<Class<?>> getClasses() {
            Set<Class<?>> classes = new HashSet<Class<?>>();
            classes.add(RestService.class);
            classes.add(EmpBean.class);
            return classes;
    and my empBean goes like this:
    package com.rest.assignment;
    public class EmpBean {
        private String firstName;
        private String lastName;
        private String empId;
        private String designation;
        private String skillSet;
        public String getFirstName() {
            return firstName;
        public void setFirstName(String firstName) {
            this.firstName = firstName;
        public String getLastName() {
            return lastName;
        public void setLastName(String lastName) {
            this.lastName = lastName;
        public String getEmpId() {
            return empId;
        public void setEmpId(String empId) {
            this.empId = empId;
        public String getDesignation() {
            return designation;
        public void setDesignation(String designation) {
            this.designation = designation;
        public String getSkillSet() {
            return skillSet;
        public void setSkillSet(String skillSet) {
            this.skillSet = skillSet;
    Web.xml goes like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <display-name>restWS</display-name>
    <welcome-file-list>
      <welcome-file>index.html</welcome-file>
      <welcome-file>index.htm</welcome-file>
      <welcome-file>index.jsp</welcome-file>
      <welcome-file>default.html</welcome-file>
      <welcome-file>default.htm</welcome-file>
      <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
      <servlet-name>REST</servlet-name>
      <servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
      <init-param>
       <param-name>javax.ws.rs.Application</param-name>
       <param-value>com.rest.assignment.RestService</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
      <servlet-name>REST</servlet-name>
      <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>
    </web-app>
    When i try to return a string from my get method, it gives me a proper response. i get this exception when im trying to return a JSON response.

  • Mass change of valuation class

    Hi Folks,
    We need to change Valution class for almost 150 materials.
    I'm referring SAP note:-160970 for this.
    So,please guide me from where should I start?
    I think I need to first check any open POs or stocks are there or not...right?Anything else?
    But,if suppose I found a lot of POs and stocks for this material,then how would I clear this?
    What are the transactions for Mass deletion od POs and production orders.
    Please assist step by step as this will have huge impact on FI.
    Thanks in advance....

    Hi
    You can change the valuation class of the material if
    NO Valuated stocks in the current period or in the previous period
    No Open purchase orders or delivery schedule linesn
    No Production orders for which a goods movement has already taken place
    If valuated stocks already exist, you can change the valuation class only as follows:                         a) Post the stocks of the material to an interim account.
                               b) Change the valuation class in the material master record.
                              c) Post the stocks of the material back to their original account.
    If open purchase orders already exist, you can only change the valuation class if you first flag the corresponding purchase order items for deletion.
    If production orders exist for which a goods movement has already taken place, you can only change the valuation class if you first set the status of the production orders to Deleted.
    MEMASSPO - Mass Maintenance  of the Purchase order
    More details refer to SAP note 160970
    Edited by: sunny on Dec 8, 2008 2:21 PM

  • Invalid Valuation Class for Plant

    Hello,
    I'm creating a material using t-code MM01, and when I enter a valuation class in the Accounting 1 view, I get error message ZA 038 "Invalid valuation class for this plant".  This valuation class was working before, so I want to look into the configuration to see what may have been changed.  Can anyone point me in the right direction?
    Thanks,
    Cynthia

    Hi,
    the message u got is custom defined message.
    The reason for the designing the message may be that the material that u want to create is not to be meant for the plant u used.
    i hope this will solve the issue.
    Thank You,
    Purnachandra RM

  • Different Valuation Class for Valuation category C1,C2,C3

    Hi All,
    I created a material with valuation category C. The material had valuation class 3042 which I created as per requirement of client. Now when I am extending the same material for valuation category C1, C2, C3 the system is only allowing me to choose valuation class 3040 which is standard sap valuation class for spare parts. Can anyone suggest if I need to create separate valuation class for C1, C2 & C3. I have split valuation also activated in the system.

    Go to MMAM  and then give the material and give the new valuation class and execute it.  That material have change from old valuation class to new valuation class.
    Example:  You create material No: 678 under the Finished goods. Finished goods valuation class is 7920 is assigned in Accounting Tab 1. You want to change "678" material  to Raw Material.
    Go to T.Code : MMAM
    Material                                : 678
    New Valuation Class             : Raw Material ( Select from F4)
                                                   Which Valuation area you want
    Old Valuation Class              : Finished goods ( its under gray mode
                                                                              i.e can not change)
    Edited by: Ganti on Dec 4, 2010 9:08 AM

  • Change in valuation class

    Hai Friends,
    How can i change the valuation class in the material master for specific material types.

    Hi,
    Valuation classes are already defined by MM people  in OMSK based on material types and this valuation classes post the stock value of the material into respective G/L accounts.If you want to change the valuation class go to MM02-->Accounting1 choose the respective valuation class and save.One thing you have to notedown is if you assign in correct valuation class then at the time of stock posting system throw error message that G/L account has not maintained.
    Regards,
    Hari Challa.

  • Valuation Class not appearing in Material Master (Finished Goods)

    Hi Friends,
    I am facing problem with Valuation Class not appearing while creation of Material Master especially in Finished Products
    when i give the Valuation class it showing the message like below
    *Valuation class IBM2 not allowed for material type Finished product*
    *Message no. M3180*
    *Diagnosis*
    *The combination of values you have entered is not defined in the system.*
    *Procedure*
    *Check your entries, and choose a valid value or combination of values with F4.*
    *If you want the value(s) to be defined in the system, contact your systems administrator.*
    and When i press F4 in Valuation Class area it is not appearing
    Can any one give me the solution
    Regards,
    Ram

    Hi Ram,
    Go to Transaction Code OMSK. You will find three tabs there.
    Go to the second tab i.e, valuation class, note the account category reference assigned to the valuation class "IBM2".
    Come out of that screen and access the third tab ie., Material Type/Account Category reference.
    Check whether Account category reference related to the valuation class "IBM2" is assigned to ther material type "Finished product" or not.
    If not, assign the same. It should work.
    Warm regards,
    Murukan Arunachalam

  • Multiple info records for the same material record in the catalog

    Hi Guys,
    I have got sort of a puzzle I can not solve at the moment, maybe some one can help me to solve it. The situation in our system landscape  is as follows:
    Systems:
    SRM 5.0 (Classic implementation scenario)
    ECC 6.0
    SRM-MDM 2.0
    PI 2005
    Material master is maintained in R/3 and the materials are replicated to SRM. From SRM we replicate all materials to the catalog repository in  SRM-MDM.
    As the material master in R/3 is vendor independent, the materials replicated to SRM also have no vendor attached. For the first initial material replication from SRM to the catalog SRM-MDM this also means that the products in the main table of the repository, u2018catalog positionsu2019, will not have a vendor or vendor number attached (i.e. no reference to a source of supply).
    To assign a source of supply in the repository to a product (record) we will use info records which are replicated from R/3 to SRM-MDM.  The mapping for this in the Import Manager can only be based on the product number. As this is the only unique value available which can map a info record to a already existing (but vendor less) ptoduct item in the catalog.
    As long as every item in the repository has only one unique info record, meaning one source of supply with a specific price, there is no issue in the above scenario. Based on the product-id, the info record data will be matched with the material item in the catalog.
    The issue for me arises when multiple info records exists for the same material. The info records can heave different vendors and different prices. All possible vendors should be available in the catalog for the same material (at least this is the requirement ). 
    At this point the product-id will no longer be an unique value. Importing the info records will cause problems, as only one material record is available in the repository for the specific product-id (remember that when doing a initial replication of the material master to the catalog, no vendor data is replicated).
    Does anyone had this issue before, and knows a solution? Is it for example possible during the import of the info records in the Import manager, to duplicate material records in the destination data, based on the number of info records available in the source data for the same product-id. Or is there an other solution that I am missing?
    Your help would be appreciated!
    Regards,
    Skander

    Dear Poster
    Your thread has had no response since it's creation over
    2 weeks ago, therefore, I recommend that you either:
    - Rephrase the question.
    - Provide additional Information to prompt a response.
    - Close the thread if the answer is already known.
    Thank you for your compliance in this regard.
    Jason Boggans
    SAP SRM SDN Moderator

Maybe you are looking for