Material class functionality

Hi Experts
I wish to use the classification  for evaluating the technical specifications of a mechanical item in quotation.
Can I maintain different valiues for the characteristics of material class in each quotation and compare the technical evaluation of vendors?
warm regards
ramSiva

Thanks for the replies folks. I was afraid this might not be available yet. I wonder why though.
If I had SAPlink installed, I'd upload a class that I've been developing. ZCL_MAKE_MATERIAL_BAPI
Unfortunately, everyone lives in fear of our BASIS group and I haven't been brave enough to buck them.
Here's a list of the methods I created for the class:
CALL_BAPI
FILL_DESCRIPTION
FILL_HEADDATA
FILL_MARA_DATA
FILL_PLANTDATA
FILL_SALESDATA
FILL_STORAGELOCATIONDATA
FILL_UNITSOFMEASURE
FILL_VALUATIONDATA
LOCK_ZMM_BAPI_TRACK
UNLOCK_ZMM_BAPI_TRACK
GET_TRACK_STATUS
ADD_ZMM_BAPI_TRACK_RECORD
CALL_BAPI_WITH_STAT_CHECK
The class is a bit "solution specific" to my current project. But, it's reduced using the BAPI to a simple task of passing parameters.
It's too bad that there isn't a way for all of us to share things like this.

Similar Messages

  • Transfer of Material Class characteristics into Batch

    Hello,
    Is there a way to transfer the material specific class characteristics ( maintained in material class 001) into Batch, while creating a new batch?
    For e.g. for Material A, i have Material Class Characteristic = COLOR, with a value RED.
    So if i create a new Batch for Material A, the COLOR characteristic in Batch should get defaulted to RED, instead of manually entering.
    Pl let us know, if this is possible.
    Regards,
    Mangesh
    P.S: I know there is Default check at the characteristic value level, but that doesn't help, as each material will have different value.

    Dear,
    You can use function module exit EXIT_SAPLV01Z_014  SAP enhancement SAPLV1ZN when assigning characteristic values to batches with EXTENDED_CLASSIFYING parameter. You use this to classify user-defined characteristics in the background when creating a new batch using the central function module VB_CREATE_BATCH during activated batch classification.
    Refer IMG>Batch Mngmt>Characteristics Value Assignment>...using function module
    Please try and come back.
    Regards,
    R.brahmankar
    Edited by: R Brahmankar on Oct 11, 2010 4:39 PM

  • FM to Find segment name based on material class type

    Hi Experts,
    is there any function module availble to find out the segment name based on material class or material class type?
    Please use a more informative subject line in the future.
    Edited by: Rob Burbank on Feb 17, 2009 10:33 AM

    HI,
    Try with transcation Code WE41
    Thanks
    Kalyan

  • ALE Material Class Hierarchy

    Hi,
    We have created Material Classes / chararacters and have ALEd to the respective systems.
    We have defined Hierachies using CL22N.
    But when we ALE Classes using BD92, the Hierachy data or the links between classes does not get sent.
    Therefore in the receiving system we do not find the inherited charatcers.
    Can any if of you convey me if there is any transaction to ALE the Class Hierarchy?
    Thanks,
    Midhun.

    Hello,
    This function enables you to set up your class hierarchy as a class network by assigning a class to several superior classes.
    Procedure:
    To maintain one or more superior classes for a class within a hierarchy, proceed as follows:
    1.Choose in the Classification menu Assignment , Assign class to superior classes.
    2.Enter the name and class type of the class you want to include in the hierarchy. Use the pushbutton  Last processed classes to choose on of the last ten classes you have worked. These can also be classes that were processed with different applications.
    If the class you enter is part of a class hierarchy, you can choose Environment  Class hierarchy to see the other classes in the hierarchy in tree form.
    Confirm your entries.
    3.Enter one or more superior classes.
    When you assign classes to a class, you can restrict the allowed values of the characteristics. This means that only values from the restricted allowed values are allowed when you classify objects in these classes.
    4.If you want to assign values to characteristics and at the same time set restrictions for the values you must first position the cursor on a class. Double-click on the class or select  Values.
    You see a list of the characteristics of all the classes to which an object is assigned. This list is based on the user settings you made in Extras  User settings, tab page Value assignment.
    5.Save your assignment.
    Hope the information is useful
    Regards

  • How to restrict Material Class in Sales Contract Doc

    Hi,
    I need to restrict Material Class in Sales order based on Item catagory, Material group4 and Sales contract Document type.
    If the above 3 fields having a particular value then the system should restrict all the other classes of that material and display only a particular class and it's related characteristics.
    If any one come across such a senario then pklease let me know.
    Regards
    Ajay

    Hi,
    You have to make few configuration settings before you actually restrict at the object level. The solution is clearly discussed in the below thread:
    how to restrict material master by material type  t-code MM01
    Hope this helps!!
    Regards,
    Raghu

  • How to run a class function on the click event ?

    Hi Tecs,
    i want tht when someone click on some paricular location on the form, then the class function must be called with some parameter, when someone click on some other location, the function should be called with different parameters.
    How this can be done , plz help.
    Thnx in advance.

    Almost every tag supports onclick .. For example h:panelGrid and even h:form.
    JSF<h:panelGrid onclick="document.getElementById('formId:hiddenActionId').click(); return false;">
        <h:form id="formId">
            <h:commandButton id="hiddenActionId" value="action" actionListener="#{myBean.action}" style="display: none;">
                <f:attribute name="param1" value="value1" />
                <f:attribute name="param2" value="value2" />
            </h:commandButton>
        </h:form>
    </h:panelGrid>MyBeanpublic void action(ActionEvent event) {
        String param1 = (String) event.getComponent().getAttributes().get("param1"); // returns "value1"
        String param2 = (String) event.getComponent().getAttributes().get("param2"); // returns "value2"
        // do your thing
    }[EDIT]You really cannot avoid JavaScript. Heck, JSF itself also generates a heap of JavaScript ;)
    Message was edited by:
    BalusC

  • Material Class 001 - Characteristics not comming at the time of GR

    Hello,
    I am trying to use material class 001 in material.
    I have created Characteristics and assigned to Class (001) and have attached this class to Material.
    But when I do Goods Receipt of PO, I do not see any tab with classifications.
    I have also tried activating batch (as some say that I have to activate batch to get the characteristics at the time of GR) but this does not help.
    Please let me know, how can I get the characteristics to get populated at the time of GR.
    Regards
    Prabhjot Singh
    Edited by: Prabhjot Singh Nayyar on Sep 9, 2010 5:35 PM

    Prabjhot,
    I have a group of materials "Bicycles".  Within this group, there are 5 material numbers, BIKE1, BIKE2, BIKE3, BIKE4, BIKE5. Each one of these is sold as a separate item to the customers.
    Now, my customer service group is having a hard time entering orders.  They can never remember which one contains which combinations of colors and Derailleurs.
    I create a class 001 BICYCLES and assign two characteristics, "COLOR" "DERAILLEUR".  Possible color values are "RED", "BLUE", "SILVER".  Possible DERAILLEUR values are "10SPEED" and "12SPEED".  I then assign the materials to the class, and enter values for each of the 5 material numbers.
    Now, when Customer service wants to find out which MATERIAL to enter into their sales orders, they can look up all the MATERIAL numbers that have specific MATERIAL based characteristics:  Blue/10 speed; Red/12 speed, etc etc.
    Later on, my Quality manager approaches me.  For one material BIKE1, which is a Blue/10speed,  I have 3 different factories where I build them.  The resultant bikes are virtually identical from each factory.  However, the manufacturing methods in each factory are different.  My Quality manager wants to determine accurately the source of each manufactured bicycle, so that he can track warranty liability and issue recalls if necessary.
    I create a BATCH class type 022 and assign 2 characteristics "MAN_PLANT" and "YEAR" I create several batches: "PARIS2010", "ROME2010", "LONDON2010":  In the batches I assign the appropriate values:  MAN_PLANT "PARIS", in another "ROME", and another "LONDON"; in all three I enter the value for year as "2010",  I activate Batch management.
    Now when I complete my Production orders, the three plants each receive their production into stock, but now they must enter a batch.  The batches they enter upon receipt identify the manufacturing plant and year of manufacture.  In my central warehouse, I now have BIKE1 stocked and sold under 3 batches: PARIS, ROME, LONDON.  My quality manager is pleased.
    I am rewarded with more work.
    Best Regards,
    DB49

  • Material Ledger Functionality with Non Valuated Sales Order Stock

    We are in the process of setting up Make To Order (MTO) with Non Valuated Sales Order Stock. We currently use the Material Ledger in our other businesses that use Process Orders.
    Does the Material Ledger functionality support MTO with Non Valuated Sales Order Stock? I have been testing this and have not yet figured out how to get ML postings. We are using production orders that settle to sales orders. We do not bring this into inventory, the costs reside on the sales order.
    If this functionality does exist, I would assume I need to configure the Material Update Structure but I cannot find any documentation on this.
    Any help would be appreciated.
    Regards,
    Greg

    Hi Greg,
    no, material ledger will not be able to calculate and allocate actual costs for the sales order in the scenario you describe. It would of course, if you used the valuated sales order stock.
    Generally SAP sees in the valuated sales order stocks (avaliable since 3,1 or something) a great improvement and no real reason to use still the non-valuated scenario.
    best regards,
                          Udo

  • How to remove the rule or class function in CS5

    i need to know how to remove the rule or class function in CS5  at the bottom of the screen there are two options for formating HTML and Css when i click the HTML it only allows me to change the bold or italics or link something but when i click CSS it allows me to format how i want the paragraph aligned and the text size and font when i click on lets say changing the font size a box comes up asking me to name a rule so it applies it to everything else i type i want to know how to stop tht like edit everything on my own and if i use CS5 here will it be compatible with CS4 or CS3 at my skool plzz help ive been frustrated with this

    If I use CS5 here will it be compatible with CS4 or CS3 at my skool plzz help ive been frustrated with this
    Code is code.   It doesn't matter which product you use.
    i need to know how to remove the rule or class function in CS5
    You can't.  DW encourages you to use good coding methods, which means using CSS classes and to keep content (HTML) separate from styles (CSS).  For example, if you change font-size on p tags like so:
         p {font-size: 38px}
    Every paragraph will have 38px sized text.
    If you want to apply a special style to just a portion of your text, you must define a CSS class name like so:
    .foo {
    font-size: 38px;
    color: red;
    HTML:
    <p>This is normal paragraph text <span class="foo"> And this is very big and red.</span></p>
    This is normal paragraph text And this is very big and red. 
    Nancy O.
    Alt-Web Design & Publishing
    Web | Graphics | Print | Media  Specialists 
    http://alt-web.com/
    http://twitter.com/altweb
    Message was edited by: Nancy O.  -- unfortunately, this forum doesn't support Raw HTML with inline styles. You'll need to paste my code examples into your DW page to see the effect.

  • CLFMAS: Change only 1 caracteristic in a non-local material class

    I try to modify a material's classification with CLFMAS.
    I would like to change only one characteristic. The others ones must keep their old values.
    CLFMAS erases everything, and I just have the new value of the caracteric I would change.
    I use a non-local class.
      Thanks in advance for your help.

    We have the same issue just come up last night.   A test on one class last week yielded the 2 record change history model (old value deleted, new value created).  Applying the same change to a different material class, we get only the single record model - no help or oss notes seem to mention that there are two different change history models in SAP.
    CHECK THIS -- check your single record change log in table CDPOS ... you may have values in both value_old and value_new fields there.  The 2 record model stores value_old on the "deleted" record and value_new field value on the "created" record.
    That still does not answer why there are two models and how one controls which model is implemented for change history on a class/characteristic ... but it sheds just a little more light on it.

  • How to set the classpath and path from the jsp to call  java class function

    Hi Exprets,
    I have a requirement to call a java class function which returns a hashmap object from the jsp. The java class in present in one jar file and that jar file is location somewhere in unix path. So the requirement is to set the classpath for that jar file and then create the object of the java class and then call the function.
    If any one know how to achieve it, please reply as soon as possible.
    thanks in advance,
    swapna soni.

    It is never advisable to store large data sets in the session. But it will depend on a lot of factors:
    1. How costly is the query retrieving the data from the database?
    If it's a complex query with lots of joins and stuff, then it will be better to store it in the session as processing the query each time will take a lot of time and will decrease performance. On the other hand if the query is simple then it's advisable not to store it in the session, and fetch it each time.
    2. Are there chances for the data to become stale within a session?
    In this case storing the data is session will mean holding the stale data till the user session lasts which is not right.
    3. How many data sets does the session already holds?
    If there are large no. of data sets already present in the session, then it's strictly not advisable to store the data in the session.
    4. Does the server employ some kind of caching mechanism?
    Using session cache can definitely improve performance.
    You will have to figure out, what is the best way analyzing all the factors and which would be best in the situation. As per my knowledge, session is the only place where session specific data can be stored.
    Also, another thing, if the data set retrieved is some kind of data to be displayed in reports, then it would be better to use a pagination query, which will retrieve only the specific no. of rows at a time. A navigation provided in the UI will retrieve the next/previous data set to display.
    Thanks,
    Shakti

  • Loading Variables in a Class Function

    I am having problems loading variables from an external text
    file inside of a class function. The text file has been created
    properly, and the code that I use in the class is as follows:
    _root.createEmptyMovieClip("texRules", -100);
    loadVariables("texRules.txt", _root.texRules);
    m_Rules = _root.texRules.rules;
    I create an empty movie clip on the root frame named
    texRules, load the variables into that movie clip with the next
    line and then set my member string value equal to the text file
    variable named rules. When I run the program, I get an undefined
    for my m_Rules.
    Here is my texRules.txt:
    rules=THESE ARE THE TEXAS HOLD'EM RULES.
    Any ideas as to what I am doing incorrectly?

    I've opted to use the LoadVars instead of creating an empty
    movie clip and loading the variables there. Here is my new code.
    public function setRules():Void
    var rulesLoader:LoadVars = new LoadVars();
    rulesLoader.onLoad = function (success:Boolean):Void
    if (success)
    trace(rulesLoader.rules);
    this.m_Rules = rulesLoader.rules;
    else
    trace( "Unable to load external file.");
    rulesLoader.load("texRules.txt");
    Here is where I define my properties of my class:
    class TexHoldem extends Game
    //Class member properties
    //Private Properties
    private var m_Rules:String;
    private var m_Target:MovieClip;
    Here is my constructor:
    public function TexHoldem(target)
    this.m_Target = target;
    super("Texas No Limit Hold'Em", 0, 1);
    setRules();
    The setRules function works fine, the only problem now is
    that I can't save the variables once the onLoad function goes out
    of scope. I've thought of modifying it so that it returns a type,
    but that seems difficult. The two easiest solutions I see is to
    create an empty text field that holds the string or find a way to
    get the rulesLoader.rules outside of the onLoad scope. Any
    suggestions now? Sorry to change the problem on you.

  • Action BC Class Functionality

    Please help on below two scenarios
    Can you please help with your ideas/expertise around stopping Siebel OOTB functionality for the below scenario?
    1) As per vanilla functionality in Action BC, when status is updated to 'Done', Actual End Date field (TODO_ACTL_END_DT) gets updated with time stamp. This is class functionality.
    We have a requirement, where when status is changed to 'Done', an error message must pop up requesting the user to fill the 'Actual End Date' field.
    To avoid this OOTB behavior, we  have written a browser script to throw an alert message using SWEAlert and we are returning CancelOperation, hence OOTB behavior is being bypassed and it doesn’t populate Actual End Date with timestamp.
    2) Another OOTB functionality is, when Actual End Date is populated, system automatically sets status to 'Done'. We are unable to control this behavior of not populating Status to Done when Actual End Date is filled by the user. Once system populates the status to Done, we are populating status to the old value in the script itself, so when the user gets back control, he would see the old status value.
    Once the user fills the 'Actual End Date' field and changes the status to 'Done', system should create another activity (as per our requirement).
    Currently, the issue we are facing is, system is not behaving as expected when Status is changed to 'Done' or when Actual End Date is being populated. System is not behaving consistently.
    Request your help in understanding if OOTB class functionality with Status=Done and Actual End Date can be tweaked or not.
    Regards
    Bhaskara
    +91-7702577769

    Hi Vicas,
    Can you please provide me the Active Calls/Events info from the dump?
    Best regards,
    Maggie
    Edited by: Maggie Su on May 19, 2010 7:09 AM

  • Static Class Function vs. Instance Variables

    I'm making a Wheel class to spin the wheels on some toy
    trains as they move back and forth.
    Each wheel on the train is an instance of the Wheel class and
    there are several of them.
    I thought it would be great to just have a static class
    function to tell all the Wheels to start turning:
    Wheel.go();
    The Wheel class keeps a static array of all of its instances
    so I thought I would just loop through all of those instances and
    issue the wheelInstance.roll() method.
    So far it all works. But I was planning to use a setInterval
    to call the roll() method and each instance has its own rollID
    property that I would like to assign the setInterval ID to. Here is
    the problem.
    Since the rollID is an instance property I can't access them
    from a static class function. Is there any way to do this?
    Currently I"m just using an onEnterFrame which doesn't require me
    to use the instance properties.

    Technically yes, realistically for this class no.A
    class will probably take several hundred bytes at
    least to load, with no data of your own. So adding4
    bytes for a int is less than 1% of the total size.
    And if you are loading millions of differentclasses
    then you should rethink your design.If you don't instantiate the class when you reference
    a static variable why would you consume memory for the
    class other than the variable itself? I don't
    understand what you are talking about with the
    "millions of different classes", it's not germane to
    the question. Bottom line, referencing a static
    variable more than once will save memory.Using a class, static or by instance, requires that the class be loaded. A loaded class creates, at the very least, an instance of java.lang.Class. Any static members of the class are in addition to the storage space needed for the instance of java.lang.Class and for any internal storage needed by the JVM in addition to that.
    Thus if one has a static data member when the class is used in any way, the static data member takes storage space. However a member (non-static) does not take storage space.
    Of course the meta data for the member could take as much space as the static member so the point could be moot. Is that what you were referring to?

  • Static class functions: PLS-00801: internal error [phd_get_defn:D_S_ED:LHS]

    Any ideas why this would generate an internal error - referring to a static class function in that class constructor's parameter signature?
    Test case (on 11.2.0.2) as follows:
    SQL> create or replace type TMyObject is object(
      2          id      integer,
      3          name    varchar2(30),
      4 
      5          static function DefaultID return integer,
      6          static function DefaultName return varchar2,
      7 
      8          constructor function TMyObject(
      9                  objID integer default TMyObject.DefaultID(), objName varchar2 default TMyObject.DefaultName()
    10          )return self as result
    11  );
    12  /
    Type created.
    SQL>
    SQL> create or replace type body TMyObject is
      2 
      3          static function DefaultID return integer is
      4          begin
      5                  return( 0 );
      6          end;
      7 
      8          static function DefaultName return varchar2 is
      9          begin
    10                  return( 'foo' );
    11          end;
    12 
    13          constructor function TMyObject(
    14                  objID integer default TMyObject.DefaultID(), objName varchar2 default TMyObject.DefaultName()
    15          )return self as result is
    16          begin
    17                  self.id := objId;
    18                  self.name := objName;
    19                  return;
    20          end;
    21 
    22  end;
    23  /
    Type body created.
    SQL>
    SQL> declare
      2          obj     TMyObject;
      3  begin
      4          obj := new TMyObject();
      5  end;
      6  /
    declare
    ERROR at line 1:
    ORA-06550: line 0, column 0:
    PLS-00801: internal error [phd_get_defn:D_S_ED:LHS]If the static class functions are removed from the constructor and applied instead inside the constructor body, it works without error. Likewise you can call the constructor with the static class functions as parameters, without an internal error resulting.
    SQL> create or replace type TMyObject is object(
      2          id      integer,
      3          name    varchar2(30),
      4 
      5          static function DefaultID return integer,
      6          static function DefaultName return varchar2,
      7 
      8          constructor function TMyObject(
      9                  objID integer default null, objName varchar2 default null
    10          )return self as result
    11  );
    12  /
    Type created.
    SQL>
    SQL> create or replace type body TMyObject is
      2 
      3          static function DefaultID return integer is
      4          begin
      5                  return( 0 );
      6          end;
      7 
      8          static function DefaultName return varchar2 is
      9          begin
    10                  return( 'foo' );
    11          end;
    12 
    13          constructor function TMyObject(
    14                  objID integer default null, objName varchar2 default null
    15          )return self as result is
    16          begin
    17                  self.id := nvl( objId, TMyObject.DefaultID() );
    18                  self.name := nvl( objName, TMyObject.DefaultName() );
    19                  return;
    20          end;
    21 
    22  end;
    23  /
    Type body created.
    SQL>
    SQL> declare
      2          obj     TMyObject;
      3  begin
      4          obj := new TMyObject();
      5  end;
      6  /
    PL/SQL procedure successfully completed.
    SQL>
    SQL> declare
      2          obj     TMyObject;
      3  begin
      4          obj := new TMyObject(
      5                          objID => TMyObject.DefaultID(),
      6                          objName => TMyObject.DefaultName()
      7                  );
      8  end;
      9  /
    PL/SQL procedure successfully completed.
    SQL> Had a quick look on support.oracle.com and did not turn up any specific notes dealing with the use of static class functions in the parameter signature of the constructor. Known issue? Any other workaround besides the one above?

    Hi,
    there is a bug: "Bug 8470406: OBJECT INSTANCE CREATION FAILS WITH ERROR PLS-00801 IN 11GR1", it shows the behaviour in 11g but not in 10.2. It gives exactly the symptoms you also see, move it to the body and it works. But there is no solution/patch given.
    Herald ten Dam
    http://htendam.wordpress.com

Maybe you are looking for

  • Error while iserting a image in DB!!!!!

    Hello guys, I want to insert an image in the DB(MySql). I receive a compiling error when i try to insert an image. I tried to find in the forums.. but i could not find it.. here is my code.. public void insertImage(String name, String path){         

  • Which power adaptor cable?

    Hi..I have a BT Relate 2100 home phone and the dog has chewed the power adaptor cable.  Can I purchase any telephone power adaptor cable that has a RJ11 connector on one end and a 3 pin adaptor on the other as I can't find one exactly for the BT Rela

  • NI 9237 with varriable resistance

    Dear All, I am interfacing NI 9237 module with a vaiiable resistance to just give a demo how to read analoge sensor , I am not able to get the values of my varriabe resistance(POT) I just want to display the variation in a numeric text box as i chang

  • How to import  Oracle OLAP data called OLAPTRAIN into repository

    Hi Gurus, I tried to import OLAP metadata from OLAPTRAIN schema (made by Oracle) , but this schema did not appear on list in the import window. Earlier I was able to import Oracle metadata from BISAMPLE. I used OBEE 1.5 Database is 11gR2 What should

  • Workspace bug - all messed up every time Premiere launches

    Hello. Ever since the second to last update, my Premiere workspace keeps getting messed up each time I run the program. I have attached a screenshot here. All the panels are somehow squeezed to the left, the video track part of the timeline is collap