Creation of BOM

Hi,
I have the following problem. I have to create a new BOM with some positions. If the BOM already exists the function module should check if in the itab is a new position and add this, all other positions that allready exist in the BOM should be ignored...
Now I found a lot of different function moduls  for creating BOM and so on, but which one is the best and which let's me implement the named function in a easy way?
Thanks
Regards
JetGum

Hi,
Yes cs01 is the t code.
thanks
suresh

Similar Messages

  • Could any body explain the step by step procedure of creation of BOM in DP?

    Hi,
    Could any body explain the step by step procedure of creation of BOM in DP?
    Is there any document available to create the step by step procedure?
    Please mail to this Id:[email protected]
    Regards,
    Chow.

    Look at this source
    http://help.sap.com/saphelp_scm41/helpdata/en/62/944d40cef71059e10000000a155106/frameset.htm
    The steps are very simple
    (1) PreRequisite: There should be a SNP/PPDS PDS  generated either from R3 BOM/Routing or APO IPPE object
    (2) Use the transaction mentioned earlier- /SAPAPO/CURTO_GEN_DP - Generate DP Production Data Structure
    Let us know If you are looking for the settings which are to be used in the transaction mentioned above
    or
    You need to know how to create the SNP/PPDS PDS or IPPE object
    Regards
    Kumar

  • Mass creation of BOM and Master Recipe for Plants

    My client wants to do Mass BOM creation and Mass Master Recipe Creation from a Generic BOM and Generic Master Recipe for all 10 Plants by just a click of button.
    He does not want to use copy function using CSO1 or C201, and do for plants 'one by one'. He finds it very time-consuming. He wants to copy for all ten plants all at once. Please advice how this can be accomplished in the best possible manner, and if by standard SAP.
    Thanks,
    Sac

    Dear Sir ,
    What is LSMW ?
    I want to Copy some bill of material from another plant .I had used T code CS01 for it but only the header bill of material is copied .
    The copy field in CS01 is only for first level boms the subsequent Boms are not copied .
    so is there any other way to do it ? if possible please give the detail procedure .
    Regards
    Pankaj .
    Edited by: pankaj.001 on Mar 9, 2011 10:55 AM

  • LSMW creation for BOM

    Hi Abapers,
         I have got an assignment to create a LSMW to accomplish the loading of Bill of material but I have never done LSMW
    before. So Can anybody please tell me that out of four processes in LSMW which one I should use and the flow of that.
    Thanks in Advance
    Deepa

    Hi Deepa,
    I have used bdc for bom creation as I got stuck while using lsmw. I am attaching code snippet for your reference.
    Hope this helps
    loop at itab1.
          move itab1 to wa_itab1.
          perform map_rec.
          call transaction 'CS01' using t_bdcdata mode p_mode update 'A'
          messages into messtab .
    *    clear: wa_itab1,wa_itab2, t_bdcdata.
    *    refresh t_bdcdata.
          loop at messtab where msgtyp = 'E' or msgtyp = 'S' .
            select single * from t100 where sprsl = messtab-msgspra
                                      and   arbgb = messtab-msgid
                                      and   msgnr = messtab-msgnr.
            if sy-subrc = 0.
              mstring = t100-text.
              if mstring cs '&1'.
                replace '&1' with messtab-msgv1 into mstring.
                replace '&2' with messtab-msgv2 into mstring.
                replace '&3' with messtab-msgv3 into mstring.
                replace '&4' with messtab-msgv4 into mstring.
              else.
                replace '&' with messtab-msgv1 into mstring.
                replace '&' with messtab-msgv2 into mstring.
                replace '&' with messtab-msgv3 into mstring.
                replace '&' with messtab-msgv4 into mstring.
              endif.
              condense mstring.
              it_messtab-message = mstring(300).
              it_messtab-plant = itab1-matnr.
              if messtab-msgtyp = 'E'.
                it_messtab-status = 'Error'.
              else.
                it_messtab-status = 'Success'.
              endif.
              append it_messtab.
              clear it_messtab.
            endif.
          endloop. "messtab
          clear: wa_itab1,wa_itab2, t_bdcdata.
          refresh t_bdcdata.
        endloop.
        if not it_messtab[] is initial.
          perform buildcatalog.
          perform display.
        endif.
      endif.
    *&      Form  Map_Rec
    *       text
    form  map_rec.
      perform bdc_dynpro      using 'SAPLCSDI' '0100'.
      perform bdc_field       using 'BDC_CURSOR'   'RC29N-STLAN'.
      perform bdc_field       using 'BDC_OKCODE'   '/00'.
      perform bdc_field       using 'RC29N-MATNR'   wa_itab1-matnr."'505111'.
      perform bdc_field       using 'RC29N-WERKS'   wa_itab1-werks."'2245'.
      perform bdc_field       using 'RC29N-STLAN'   wa_itab1-stlan."'1'.
      perform bdc_field       using 'RC29N-STLAL'   wa_itab1-stlal."'01'.
      perform bdc_dynpro      using 'SAPLCSDI'     '0110'.
      perform bdc_field       using 'BDC_CURSOR'   'RC29K-BMENG'.
      perform bdc_field       using 'BDC_OKCODE'    '/00'.
      perform bdc_field       using 'RC29K-BMENG'   wa_itab1-bmeng."'1000'.
      perform bdc_field       using 'RC29K-STLST'   '1'.
      perform bdc_dynpro      using 'SAPLCSDI'      '0111'.
      perform bdc_field       using 'BDC_CURSOR'    'RC29K-LABOR'.
      perform bdc_field       using 'BDC_OKCODE'    '/00'.
      loop at itab2 where matnr = wa_itab1-matnr
                    and werks = wa_itab1-werks.
        append itab2 to itab3.
        clear : itab2, itab3.
      endloop.
      count = '1'.   "Used as a flag
      clear no_lines.
      describe table itab3 lines no_lines.
      loop at itab3.
        perform bdc_dynpro      using 'SAPLCSDI'         '0140'.
        perform bdc_field       using 'BDC_CURSOR'        'RC29P-POSTP(01)'.
        if itab3-posnr = '01'.
          perform bdc_dynpro      using 'SAPLCSDI' '0140'.
          perform bdc_field       using 'BDC_CURSOR'      'RC29P-POSTP(01)'.
          perform bdc_field       using 'BDC_OKCODE'     '/00'.
          perform bdc_field       using 'RC29P-IDNRK(01)'   itab3-idnrk." '49500'.
          perform bdc_field       using 'RC29P-MENGE(01)'    itab3-menge."'20'.
          perform bdc_field       using 'RC29P-MEINS(01)'    itab3-meins. "'kg'.
          perform bdc_field       using 'RC29P-POSTP(01)'    itab3-postp.      "'l'.
          perform bdc_dynpro      using 'SAPLCSDI' '0130'.
          perform bdc_field       using 'BDC_OKCODE'         '/00'.
          perform bdc_field       using 'BDC_CURSOR'          'RC29P-POSNR'.
          perform bdc_field       using 'RC29P-POSNR'         '0010'.
          perform bdc_field       using 'RC29P-IDNRK'        itab3-idnrk." '49500'.
          perform bdc_field       using 'RC29P-MENGE'       itab3-menge."'20'.
          perform bdc_field       using 'RC29P-MEINS'       itab3-meins. "'KG'.
          perform bdc_dynpro      using 'SAPLCSDI'           '0131'.
          perform bdc_field       using 'BDC_OKCODE'        '/00'.
          perform bdc_field       using 'BDC_CURSOR'        'RC29P-POTX1'.
          perform bdc_field       using 'RC29P-SANKA'      'X'.
        else.
    ***" Ok Code for saving, Corr. to Last line
          if count = no_lines.
            perform bdc_dynpro      using 'SAPLCSDI' '0140'.
            perform bdc_field       using 'BDC_CURSOR'
                                          'RC29P-POSNR(02)'.
            perform bdc_field       using 'BDC_OKCODE'
                                          '=FCBU'.
          else.     "Ok Code for new line entry
                  perform bdc_dynpro      using 'SAPLCSDI' '0140'.
            perform bdc_field       using 'BDC_CURSOR'
                                          'RC29P-POSNR(02)'.
            perform bdc_field       using 'BDC_OKCODE'
                                          '=FCNP'.
          endif.
          perform bdc_dynpro      using 'SAPLCSDI' '0140'.
          perform bdc_field       using 'BDC_CURSOR'
                                        'RC29P-POSNR(02)'.
          perform bdc_field       using 'BDC_OKCODE'
                                        '/00'.
          perform bdc_field       using 'RC29P-IDNRK(02)'
                                        itab3-idnrk.            "'49502'.
          perform bdc_field       using 'RC29P-MENGE(02)'
                                        itab3-menge.            "'10'.
          perform bdc_field       using 'RC29P-MEINS(02)'
                                        itab3-meins.    "'kg'.
          perform bdc_field       using 'RC29P-POSTP(02)'
                                        itab3-postp.    "'L'.
          perform bdc_dynpro      using 'SAPLCSDI' '0130'.
          perform bdc_field       using 'BDC_OKCODE'
                                        '/00'.
          perform bdc_field       using 'BDC_CURSOR'
                                        'RC29P-POSNR'.
          w_posnr = itab3-posnr * 10.
          condense w_posnr no-gaps.
          if w_posnr <= '90'.
            concatenate '00' w_posnr into w_posnr.
          else.
            concatenate '0' w_posnr into w_posnr.
          endif.
          perform bdc_field       using 'RC29P-POSNR'
                                        w_posnr.                "'0020'.
          perform bdc_field       using 'RC29P-IDNRK'
                                        itab3-idnrk.            "'49502'.
          perform bdc_field       using 'RC29P-MENGE'
                                        itab3-menge.            "'10'.
          perform bdc_field       using 'RC29P-MEINS'
                                        itab3-meins.    "'KG'.
          perform bdc_dynpro      using 'SAPLCSDI' '0131'.
          perform bdc_field       using 'BDC_OKCODE'
                                        '/00'.
          perform bdc_field       using 'BDC_CURSOR'
                                        'RC29P-POTX1'.
          perform bdc_field       using 'RC29P-SANKA'
                                        'X'.
          count = count + 1.  "Increment count for every line item
        endif.
      at end of matnr.
      perform bdc_dynpro      using 'SAPLCSDI' '0140'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RC29P-POSNR(01)'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=FCBU'.
    endat.
      endloop.
    clear itab3[].
    endform. "Map_Rec
    **      Form  BDC_DYNPRO
    form bdc_dynpro using program dynpro.
      clear w_bdcdata.
      w_bdcdata-program  = program.
      w_bdcdata-dynpro   = dynpro.
      w_bdcdata-dynbegin = 'X'.
      append w_bdcdata to t_bdcdata.
    endform.                    "bdc_dynpro
    **      Form  BDC_FIELD
    form bdc_field using fnam fval.
      if fval <> space.
        clear w_bdcdata.
        w_bdcdata-fnam = fnam.
        w_bdcdata-fval = fval.
        append w_bdcdata to t_bdcdata.
      else.
        clear w_bdcdata.
        w_bdcdata-fnam = fnam.
        w_bdcdata-fval = fval.
        append w_bdcdata to t_bdcdata.
      endif.
    endform.                    "bdc_field

  • Creation Material BOM Time

    Dear Expert,
    How can I get the creation time for Material BOM while I can only get the creation date.
    Is there any idea?
    Thanks & B.Rgds
    Bishnu

    BOM creation time can not be found like some other document as Purchase Order.
    Only date can be traced out

  • Reg: Creation of BOM along with Alternative BOM

    Hi Experts,
    I have written the below code for creating BOM along with Alternative BOM, I'm getting the following error.
    W BAPI1080             028
    Error/warning when checking the structure of the BOM group with ID=
    A BAPI1080             002
    Basic data for (BOM) group available twice
    A BAPI                 001
    No instance of object type BOMGroup has been created. External reference:
    W BAPI1080             028
    Error/warning when checking the structure of the BOM group with ID=
    A BAPI1080             002
    Basic data for (BOM) group available twice
    A BAPI                 001
    No instance of object type BOMGroup has been created. External reference:
    Please find the piece of code below.
      SORT it_bom01 BY matnr idnrk posnr ASCENDING.
      LOOP AT it_bom01 INTO wa_bom01.
        AT NEW matnr.
          CLEAR:
            it_bomgroup[],
            wa_bomgroup,
            it_variants[],
            wa_variants,
            it_items[],
            wa_items,
            it_matrel[],
            wa_matrel,
            it_itemas[],
            wa_itemas,
            it_return.
        ENDAT.
    * Material BoM Group Header Data
        wa_bomgroup-bom_group_identification = 'IDENTIFICATION'.
        wa_bomgroup-object_type = 'BGR'.
        wa_bomgroup-object_id = 'ID'.
        wa_bomgroup-bom_usage = wa_bom01-stlan.
        wa_bomgroup-ltxt_lang = sy-langu.
        wa_bomgroup-technical_type = ' '.
    *   wa_bomgroup-bom_text = .
        wa_bomgroup-created_in_plant = wa_bom01-werks.
        APPEND wa_bomgroup TO it_bomgroup.
    * Header Details of the different variants
        wa_variants-bom_group_identification = 'IDENTIFICATION'.
        wa_variants-object_type = 'BOM'.
        wa_variants-object_id = 'ID'.
        wa_variants-alternative_bom = wa_bom01-stlal.
        wa_variants-bom_status = wa_bom01-stlst.
        wa_variants-base_qty = wa_bom01-bmeng.
        wa_variants-valid_from_date = wa_bom01-datuv.
        wa_variants-alt_text = wa_bom01-alt_text.
        wa_variants-function = 'NEW'.
        APPEND wa_variants TO it_variants.
    * Details of the items of the variants
        wa_items-bom_group_identification = 'IDENTIFICATION'.
        wa_items-object_type = 'ITM'.
        wa_items-object_id = 'ID'.
        wa_items-item_no = wa_bom01-posnr.
        wa_items-item_cat = wa_bom01-postp.
        wa_items-component = wa_bom01-idnrk.
        wa_items-comp_qty = wa_bom01-menge.
        wa_items-valid_from_date = wa_bom01-datuv.
        APPEND wa_items TO it_items.
    * Details of the materials of the different variants
        CLEAR it_matrel.
        wa_matrel-bom_group_identification = 'IDENTIFICATION'.
        wa_matrel-material = wa_bom01-matnr.
        wa_matrel-plant    = wa_bom01-werks.
        wa_matrel-bom_usage = wa_bom01-stlan.
        wa_matrel-alternative_bom = wa_bom01-stlal.
        APPEND wa_matrel TO it_matrel.
    * Linking items to the corresponding variants
        CLEAR it_itemas.
        wa_itemas-bom_group_identification = 'IDENTIFICATION'.
        wa_itemas-sub_object_type = 'ITM'.
        wa_itemas-sub_object_id = 'ID'.
        wa_itemas-super_object_type = 'BOM'.
        wa_itemas-super_object_id = wa_bom01-matnr.
        wa_itemas-valid_from_date = wa_bom01-datuv.
        wa_itemas-function = 'NEW'.
        APPEND wa_itemas TO it_itemas.
        AT END OF matnr.
          CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
            EXPORTING
              all_error         = 'X'
            TABLES
              bomgroup          = it_bomgroup
              variants          = it_variants
              items             = it_items
              materialrelations = it_matrel
              itemassignments   = it_itemas
              return            = it_return.
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
          LOOP AT it_return.
            WRITE:/ it_return-type, it_return-id, it_return-number,
            it_return-message.
          ENDLOOP.
        ENDAT.
      ENDLOOP.
    Thanks and Regards,
    Abdur Rafique

    Hi Sree,
    I used your code, I removed the levels because, i have only one level 'the lineitems'. Please find the modified code below. I'm not able to create the BOM, it throws an error as "BOM is recursive". I checked the header and item contents before passing to FM, it is correct.
    Please help me with the solution.
    REPORT  zbom_sdn.
    TYPE-POOLS: truxs.
    DATA: bom_header     LIKE cad_bicsk,
          bom_item       TYPE TABLE OF  cad_bom_item WITH HEADER LINE,
          bom_sub_item   TYPE TABLE OF cssubitem WITH HEADER LINE,
          dms_class_data TYPE TABLE OF cls_charac  WITH HEADER LINE,
          sap_field_data TYPE TABLE OF rfcdmsdata  WITH HEADER LINE,
          e_return       LIKE cad_return-value,
          e_message      LIKE message-msgtx,
          e_message_len  LIKE cad_return-message_len.
    DATA v_item  TYPE i.
    TYPES : BEGIN OF ty_data,
             matnr TYPE cad_bicsk-matnr," Material
             werks TYPE csap_mbom-werks," Plant
             stlan TYPE csap_mbom-stlan," BOM Usage
             datuv TYPE csap_mbom-datuv," Valid From
    *         posnr TYPE stpo_api03-item_no," Item Number
             idnrk TYPE stpo_api03-component," BOM Component
             postp TYPE stpo_api03-item_categ," Item category
             menge TYPE cad_bom_item-menge," Quantity
             bmeng TYPE stko_api01-base_quan," Base Qty
             stlst TYPE stko_api01-bom_status," BOM Status
             stlal TYPE csap_mbom-stlal," Alternative BOM
             alt_text TYPE stko_api01-alt_text," Alternative BOM text
            END OF ty_data.
    DATA : it_data TYPE TABLE OF ty_data ,
           wa_data TYPE ty_data.
    DATA:   wa_raw TYPE truxs_t_text_data.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
    PARAMETER : p_file TYPE rlgrap-filename OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b2.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          program_name  = syst-repid
          dynpro_number = syst-dynnr
        CHANGING
          file_name     = p_file.
    START-OF-SELECTION.
      CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
           EXPORTING
    *       I_FIELD_SEPERATOR          =
             i_line_header              = 'X'
             i_tab_raw_data             = wa_raw     " Work Table
             i_filename                 = p_file
           TABLES
             i_tab_converted_data       = it_data[]  " Actual Table
           EXCEPTIONS
            conversion_failed          = 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.
      CLEAR: bom_header, bom_item, bom_sub_item.
      REFRESH: bom_item, bom_sub_item.
      DATA : v_lineitem TYPE sposn VALUE '0000',
             v_slineitem TYPE sposn VALUE '0'.
      LOOP AT it_data INTO wa_data.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            input  = wa_data-matnr
          IMPORTING
            output = wa_data-matnr.
    * fill BOM header
        CLEAR  bom_header.
        bom_header-matnr = wa_data-matnr. "'000000000200000016'.
        bom_header-stlal = wa_data-stlal. " Alternative Bom
        bom_header-werks = wa_data-werks.                       "'1000'.
        bom_header-stlan = wa_data-stlan.                       "'3'.
        bom_header-bmeng = wa_data-bmeng.
        bom_header-cadkz = 'X'.
        bom_header-stktx = wa_data-alt_text.
    *      bom_header-ztext = wa_data-text.
        bom_header-datuv = wa_data-datuv."'01.10.2010'.
    * fill item
        v_lineitem = v_lineitem + 10.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            input  = v_lineitem
          IMPORTING
            output = v_lineitem.
    *    bom_item-upskz     = 'X'.     " If We hav the Sub items Enable it.
        bom_item-idnrk     = wa_data-matnr. "'000000000200000017'.
        bom_item-posnr     = v_lineitem.
        bom_item-postp     = wa_data-postp."'L'.
        bom_item-menge     = wa_data-menge.                     "'1'.
    *    bom_item-fmeng     = wa_data-fqty.
        APPEND bom_item.
        CLEAR: bom_item.
        AT END OF matnr.
          CALL FUNCTION 'CAD_CREATE_BOM_WITH_SUB_ITEMS'
               EXPORTING
                    i_bom_header   = bom_header
                    i_auto_posnr   = ''
               IMPORTING
                    e_return       = e_return
                    e_message      = e_message
                    e_message_len  = e_message_len
                    e_bom_header   = bom_header
               TABLES
                    bom_item       = bom_item
                    bom_sub_item   = bom_sub_item
                    dms_class_data = dms_class_data
                    sap_field_data = sap_field_data
               EXCEPTIONS
                     OTHERS         = 1.
          REFRESH bom_item.
          WRITE : e_message.
        ENDAT.
        CLEAR wa_data.
      ENDLOOP.
    Thanks and Regards,
    Abdur Rafique

  • Creation of BOM for given scenario

    Hi All
    I have a requirement of creating BOM under the given scenario:
    I am currently into some food industy implementation wherein a certain raw food product is bought from farmers, It is then segregated as per the grade through a grading machine, the grade is again based on the size of the raw material, the challenge which am facing is if suppose the input to the machine is 100kg then after grading process how much of the input would be coming as Grade-A, Grade-B & Grade-C is not confirmed, it can be any combination of these three or it can be combination of these three & the wastage as well.
    I shall look forward to your valuable inputs for mapping of the BOM in the given scenario.
    Regards,
    J K Tharwani

    Hi JK,
    I had worked on a similar scenario, but there is one thing which is not clear and needs to be decided by you with the business is fixing of the quantity of any one grade i.e A,B or C the theoritical quantity and approximate scrap that you can expect. Once this decision is made then depending on the costing point of view you shall decided whether you need to go the co product way or the byproduct way along with the apportionment structure decision.
    For our purpose say we have decided that normally B grade product comes out in more quantity when processing the input product "X". Then we can create a BOM with the header material as "B" and the components shall contain "X" in positive quanity and the other grades "A" ,"C", and scrap in negative quantities. So the BOM will look like this
    say for example the B grade you shall get 60 kgs out of every 100 kgs of X. then the bom will look as follows
    B(60)= 1.component X=100 kgs ,2. component A=(-20 kgs) 3. component B= (-20 kgs)
    By using the above structure once a process order is created for B then the input product gets consumed (261 movement takes place) and paralley the 531 movemnt takes place for component A and B since they are in negative quantities and parallely B gets 101 GR to take place.
    But its the business to decide the approximate composition for the BOM depending on the type of raw material they get. The business normally knows if the raw material comes from this farmer what kind of grade can be expected.
    Hope this solution solves your issue.
    Best Regards
    Sasibhushan

  • Regarding creation of bom and material in cfolder

    dear gurus,
    i want help from all of u.
    can any one tell me , what is the benefit of creating BOM / material in cfolder instead of R3.???????
    full reward points for useful answer
    thanks
    [email protected]

    Hi,
    cFolders is a collaboration tool (tool used for talking to 3rd parties outside your company.)
    Usually you will not give access to your ERP system to others. In that case you use cFolders as medium of sharing information with others.
    if the 3rd party colleague want to suggest some improvements or modify you design documents etc., he can do it in cFolders. This then can be verified by you in cFolders (once modification is done he can change the status in cFolders which will trigger a notification to you ) then import it to cFolders.
    regards
    Murugesh

  • Creation of BOM with Items whose qty is not fixed derived from a formula.

    Bom need to be created for a finished product whose Item quantities are ot fixed. The scenario is explained below.
    Raw milk(cow and buffalo) is a Raw Material recd from Vendors in litres.It is converted to
    kg as 1L = 1.027Kg.Finished Header material is Toned milk with Fat 3%
    and SNF 8.5%.UOM for FG is in Litre only.
    Fat and SNF(Protien)% is measured at incoming stage and recorded and Fat
    content will vary from 3 to 6.5% and SNF content will vary from 7 to 9%.
    Based on the measured Fat and SNF% value the required Fat and SNF% is
    calculated for the Finished Header Material.For each measured value
    target Fat% and SNF% will vary.
    Then again after calculating the requuired Fat and SNF%,If excess Fat
    and SNF found in the raw milk they are extracted. If Fat and SNF
    contents are less than the target value additional Fat/SNF will be
    added.For extraction and addition they follow certain percentage.
    Can pls let us know how to create a BOM for such scenario. I am at Customer
    place for implementation.I have given the calculation method below.
    Formula used:
    1)Available (Fat or SNF) % in 1027Kg = Available (Fat or SNF) % per Kg * Input Milk Qty in Kg(1027)
    2)Required (Fat or SNF) % in 1027Kg = Target (Fat or SNF) % per Kg * Input Milk Qty in Kg(1027)
    3)Excess/Less (Fat or SNF)% in 1027Kg = Available (Fat or SNF)% in 1027 Kg - Req (Fat or SNF) % for 1027Kg
    4)Addition Fat to be added or Extracted = Excess or Less Fat % in 1027Kg * 72%
    5)Additional SNF to be added or Extracted = Excess or Less SNF% in 1027 * 95%
    Note: 1) In The above formula Available Fat% per Kg of Raw milk may vary from 3 to 6.5%
    Note: 2) In The above tformula Available SNF% per Kg of Raw milk may vary from 7 to 9%.

    Hi
    U need to use master recipes for this kind of scenario(PP-PI)
    First Create char like SNF , FAT ect what ever u want to use in formulas
    Then assign these char to Batch class (023) and assign to your ROH , HALB, FERT in Classification view
    Create BOM for u r FERT and later Master recipe
    In Master recipe u can use material calculations using in put char values like % FAT ect
    Then u r BOM Comp qty will change automatically as per the % FAT in Raw milk
    In this way u can map the req in SAP. I hope this info will be useful
    Regards
    Brahmaji

  • Regarding creation of BOM through Master Recipe

    Dear all,
    I am trying to create a BOM but system is giving a message as BOM can be created through Master recipe only
    Please guide me where do we set this and what is to be done to avoid this
    Regards
    venkat

    Hi,
    Refer the answers from thread mentioned below.
    Re: BOM can only be extended via Master Recipe
    Regards,
    Lodhi.S

  • Error in creation of BOM

    Hi,
    I'm able to successfully execute the CS61 T-code, when i execute the t-code cs62/63 i am getting and error
    Express Document " Update Terminated" by author
    also i found the error in one of the dumps as below
    00 671: ABAP/4 processor: SAPSQL_ARRAY_INSERT_DUPREC
    Suggestions if any are welcome
    thanks in advance
    Sunder

    Hi,
    As the error message implies - you are trying to insert a record into a table with duplicate keys to a record that already exists.
    You need to look further into the termination to determine which table it was failing on and then figure out why it was trying to insert a duplicate key entry. Find out if it is a standard or custom table and see if there is any custom code in user-exits or BADI's that might be causing it.
    Thanks.
    Ashok.

  • Order creation without BOM

    It's required to create orders with flat structure model - lines (no classes). We want not to create Bill of materials also. But API rejects these orders with "You must specify a valid bill for this bill revision" error. Could you please help me to understand wheather it's possible and how to achieve this?
    Thanks in advance
    Dmitry

    It's required to create orders with flat structure model - lines (no classes). I not entirely clear what you are trying to do.
    Is it a configured product?
    Is it an item you purchase and ship to customer OR an item you build and ship to customer?
    If it is purchased, then try the following with a new item
    Create a new item and use purchased item template and then try creating the sales order.
    Hope this helps
    Sandeep Gandhi
    Independent Consultant

  • BOM creation TCODE

    Dear Gurus
    Are there any other Tcodes for BOM creation other than CS01? Any Tcodes I could use for BOM creation for LSMW upload?
    Need help ASAP. Points assured
    Thanks in advance

    Hi Obie,
    As all experts has suggested there are only two transaction codes for material BOM,
    1. CS01 for creation of BOM
    2. CS02 for editing of BOM
    There are diffrenet t codes if you want to create equipment BOM like IB01 & IB11.
    Hope this will resolve your querry.
    Regards,
    Avinash.

  • Re: BOM Creation

    Hi,
    I am creating BOM using CSAP_MAT_BOM_CREATE. But BOM header quantity(base Quantity) was updated always  with value 1 irrespective of copy from BOM value.
    I am getting BOM details from CSAP_MAT_BOM_READ  and then passing these values to  CSAP_MAT_BOM_CREATE . in the header table stko, I am passing 10 as basw qty to CSAP_MAT_BOM_CREATE. After creation of BOM, When I look into CS03, base qty is updated as 1.
    Does any one have come across this scenario and how did you overcomed?
    Thanks in Advance

    Hi,
    Sorry, My problem was not solved, I tried in different ways, but not working. I am even using FM CSAP_MAT_BOM_MAINTAIN to chnage the BOM Header qty, it was working when i run FM in SE37, but when i implemented in my program it was not working. By BOM qty is always 1 irrespective of any value I pass.
    But Strangely, IF I put a break point and execute , it will save correct value.
    I even tried using BDC recording and made ny BDC into Func Mod. and called Func Module, but still not working. Similarly with the
    Standard FM CSAP_MAT_BOM_MAINTAIN.
    Any Suggestion .
    Thanks in Advance

  • Error for open process order when BOM alternative is not found

    Dear colleagues,
    When I open process order. BOM alternative is selected according to the production version. But when  BOM alternative is not found system gives only information message and I can open process order, I want to prevent open process order when there is no BOM alternative according to the production version. Because the Bom can be deleted after creation production version.
    Thanks for your helping,

    Hi,
    U need to use an enhancement at the creation of order to check the active status of the bom and restricting the order creation when BOM status is inactive.
    see whether following enhancement is useful for your scenario:
    PPCO0006 Enhancement & EXIT_SAPLCOZF_003
    Please confirm.
    Regards
    Suri

Maybe you are looking for

  • How to remove the default icons from the toolbar of modal dialog box screen

    Hello Friends, Iam calling a screen from function module using CALL SCREEN statement. The screen is of type Modal Dialog Box. I created some input fields and buttons in the screen. When the screen is displayed, I can see the tool bar at the bottom al

  • Issue - Oracle Business Indicators configuration in iPhone

    Hi Everyone, I am having an issue with Oracle Business Indicators configuration in iPhone. I have provided the IP address and username and pwd but I am getting the below error. Do I need to make any configuration or setup at our BI servier level? The

  • Compilations and various artists- Playing order on iPod

    Hi everyone. I have a two-fold problem with my iPod Classic 160 GB: I have several compilations of various artists that I grouped by "Artist"- being the title of the album (so it will show up in Albums), and the "Album Artists" being the names of the

  • Blocked account - How to resolve?

    Hi i'm having a problem with my skype credit. I had approx £9 on it. About a week ago i got a msg saying it was autorecharged and that this was then refunded despite the fact that I have not set up auto recharge. I tried using my account this morning

  • Dynamic dropdown in Acrobat?

    Small business owner. Trying to create dynamic dropdowns in pdf that I open and fill with an ipad for on-site estimates. I know nothing about java, but I need a dropdown box that repopulates after a different one has a value selected: ie, Box one is