Useful classes and FM for PLM-Recipe Management for process industries
When I started working on a PLM-RM implementation, I could not find simple material like list of classes or FM useful for this module.
I am presenting here list of useful classes and FM from PLM-Recipe Management for process industries.These are useful in reading information about recipe and formula in ABAP program. I hope that this would be a useful reference for consultants implementing this module.
Use method EXT_TO_INT_CONVERT of class CL_RM_INT_RECIPE. This will give us internal number i.e. GUID of recipe. Input is recipe name.
Read primary output formula of recipe using method PO_AND_PO_FRM_GET. We need internal number obtained in step above as input here.
We see that we have obtained formula’s internal number. Next task is what if we want to know external formula number? We can use class CL_RM_INT_FRM to get formula information. Method EXT_TO_INT_CONVERT gives internal number for formula.
Method ROOT_FOR_FORMULA_GET of class CL_RM_INT_FRM gives us reverse tracing i.e. root for formula which in this case will be recipe.
Use method ITEM_READ to read formula items.
We need to provide internal number for recipe and formula as input. Method gives us details of all substances in formula along with materials/unit of measure in table ET_ITEM.
If the requirement is to read a substance only then we can use FM C1F2_SUBSTANCES_READ. Input will be scenario which is 01 for read, key date in I_ADDINF, pas I_FLAG_MATJOIN to get material information. Pass substance internal number obtained from table ESTRH to X_API_HEADER_TAB-RECN.
Parameter E_API_MATJOIN_TAB gives us the material and plant. Using material number we can fetch base unit of measure from master data.
Thanks for your great blog! Very informative indeed. I only wished I had come across it a bit earlier - it would have save me so much time...and headaches. 😉
I've mainly used the following FMs:
I also found BAPI_BUS1077_GETDETAIL very helpful to read substance data.
Keep it up!
This is really an amazing blog. But I have to ask a query here. At the very start when we get the internal number and go to PO_AND_PO_FRM_GET we also need I_KEYDATE as an input. How did you find date 07/29/2010.
Use method EXT_TO_INT_CONVERT of class CL_RM_INT_RECIPE. This will give us internal number i.e. GUID of recipe. Input is recipe name. This gives the us PVGUID for Recipe. PO_AND_PO_FRM_GET needs key date too. How do we find this when initially we have only Recipe number.
I tried using today’s date as Key date and I was still able to get the output correctly. The reason being my recipe is valid from 04/09/2017 to 31/12/2099. So any date between this is a valid date for Recipe. So in a way I do have a solution available. But I think you posted the blog in 2014 and the key date used is 2010. So can you please tell me how did we get the date here. Thanks.
Another way I figured out was getting the RECN number from the same class and to ESTRH. Enter the RECN and get the Valid date from there.