I need Checking in Production Order Qty

Hi all,
In our industry we are creating Production Order From Sales Order (MTO Scenario) by using T.Code CO08 or CO01 T.Code with out running MRP.Now if anybody intend to change the PO qty by using CO02 T.Code system allows and as a result the Sales Order Qty and Production Order qty mismatch.Now please give me solution so that anybody cannot change the production order qty and it must be same as sales order qty.
I am waiting for your valuable suggestion.
Thanks & Regards
Nirmal Sharma

Hi,
1. I dont think this is possible in any standard configuration.
2. You can utilise the exit   EXIT_SAPLCOBT_001 and write our logic inside that
3. This exit is validated when ever we save the order,
4. The abap code should be written such that each time it should check for the sales order / itme no and check the quanity to be matching if it fails it should give error
note: in this case if you are trying to creat multiple production order for one single salesorder/item number then it will not be possible or another logic is to be incorporated.
reg
satheesh

Similar Messages

  • Check in Production order qty with ref to Planned order

    Dear all,
    Please suggest me, when i am creating a productin order with ref to planned order , so the order qty should not exceed the planned order qty.
    How can i control this , please give ur valuable inputs on the same.
    regards
    Ravi Arora

    Dear
    If you are not particualr to conver the planned order to production order through CO40 , then you can control with the help of
    Enhancement : PPCO0007 (Exit when saving production order)
    Functional Module : EXIT_SAPLCOZV_001
    Include : ZXCO1U06
    Compare the Order header Qty with the sales order Qty If the production order header qty is more do not allow the system to save the production order..
    Otherwise please check those out for your requirement :
    Planned Ord. to Production Order User Exit (PPCO0005)
    EXIT / BADI for Tcode CO40
    Regards
    JH

  • Confirmation of the production order qty equal to sales order qty

    Hi Experts,
    I need to control the confirmation of the production order should be equal to sales order qty.
    I'm having the scenario as follows
    If sale order qty for X material = 3
    while running the MRP, system will plan the order qty as 8 because of we maintained rounding profile in the Material master and enhancement we used for this.
    Rounding Profile Qty=5
    Total Production Order Qty=8.
    But, finally they will do the GRN for sales order qty only, remaining will be used for testing purpose.
    So, the confirmation also has to happen for only sales order qty. There, we need to control the qty based on the sales order.
    Is there any exit or Enhancement is available for this.
    Please help me.
    Naren

    Hi,
    Exit for confirmation check is CONFPP04.
    However, opening orders for quantities higher than demand and leaving pieces undelivered and unconfirmed in production orders does not make sense. I could not get the requirement of incresing production quantity by adding rounding value? Moreover, if rounding is to be used for test purposes, why not do you receive them into stock? Why don't you receive 8 pieces into stock, deliver 3 pieces to sales order and transfer 5 pieces to related department?
    If it is because of MRP and you really do not want to produce extra 5 piece immediately, you may use material reservation or any other form of demand for 5 pieces, use EX for lot size calculation and have MRP create two planned orders for sales order and testing requirement, then you can convert planned order for sales order requirement into production order and continue processing.
    Regards.

  • How to check the Production order exits

    Hi Experts
    Modification to processing of Command Orders & Tickets
    We require a modification to the processing being performed on sales data originating from the Command Concrete system and potentially from other systems yet to come online (e.g. Pinkenba Cement plant).
    The Sap process involved is ZINT_INBOUND_POLLING and within that, ZINT_CSTPORD_ROUTINES.
    The problem
    Currently there is an assumption that every sales order (and its deliveries) will include a product which is made to order, i.e. for which a production order will be required.
    In ZINT_CSTPORD_ROUTINES, a check is made to identify the production order linked to the sales order. If there is no such production order (usually because of the customeru2019s credit status) then processing of the ticket is terminated.
    This assumption would fall down if an order was to be raised (in Command) on which there is no concrete material. For example, if we sold a bag of pigment or a screed to a customer. In this case the item would be sold from stock and there would be no need for a production order.
    The solution
    In the routine which checks for the existence of a production order, modify the code as follows:
    Inspect each item on the sales order
    If (and only if) there is at least one item with a category of u201CZTACu201D then check for a production order, otherwise process the order in the usual manner.
    ----  ZINT_CSTPORD_ROUTINES -
    *&      Form  process_inbound_data
          Create prod. orders from ticket data extracted from the COMMAND
          system. Note that large portions of the code in this routine
          have been copied from the retired ZPPU_COMMAND_PRODUCTION
          interface program. This was done (1) because the old code works
          and (2) to save development time.
         -->T_ZINT_IDATA  Internal table of interface data
         -->T_ZINT_PARAM  Internal table of interface parameters
         -->T_ZINT_MSLOG  Internal table of messages
         -->P_ZINT_ID     Interface ID
         -->P_ZINT_TY     Inteface type
         -->P_ZINT_IS     IDOC group for interface
         -->P_ZINT_DL     Flag: delete IDOC group when complete
         -->P_ZINT_AL     Flag: run in standalone mode
         -->P_ZINT_NW     Flag: do not log warning messages
         -->P_ZINT_SQ     Interface sequence number
         <--P_ZINT_RC     Return code (<>0=>error)
    form process_inbound_data  tables   t_zint_idata structure zint_idata
                                        t_zint_param structure zint_param
                                        t_zint_mslog structure zint_mslog
                               using    p_zint_id    type      zint_id
                                        p_zint_ty    type      zint_ty
                                        p_zint_is    type      zint_is
                                        p_zint_dl    type      zint_dl
                                        p_zint_al    type      zint_al
                                        p_zint_nw    type      zint_nw
                                        p_zint_sq    type      zint_sq
                               changing p_zint_rc    type      zint_rc.
    program is continuing .............
    I WANT TO WRITE A CODING HERE **********************
    CHECK IF PRODUCTION ORDER REQUIRED
              IF NOT THEN GO TO PERFORM UPDATE DATA
      if production order required then check
                    for each item on sales order item list
                          with item category = 'ZTAC' then
                                     return true
                                next
                                  end function
        if there is no production code
               these has to be check from VBAP TABLE field VBELN and PSTYV (ZTAC,ZTAN Etc)
      select * from Vbap WHERE VBELN = '00000269951' and VBAP.PSTYV = 'ZTAC','ZTAN' Etc
    No production order?
        elseif lva_prodord is initial.
          clear v_messg.
          call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
            exporting
              input  = lva_filemat
            importing
              output = lva_filemat.
        No production order found - log a warning message.
          concatenate 'Production Order not be found for'
                      'Command order' lva_cmdord
                      'Material'      lva_filemat
                      'Customer'      lwa_02-customer
            into v_messg separated by space.
          perform write_log_entry
            tables t_zint_mslog
            using  'E' 'ZINT_CSTPORD_ROUTINES'
                       'FIND_SAP_PRODORD'
                         v_messg
                         p_zint_nw
                         lwa_01-ticketnumber.                " RJS
          continue.
        endif.
    Production Order WAS found... Continue creating IDOCS
        lwa_hdrlevel-postg_date = lwa_01-ticketdate.
    Obtain the storage location parameter value.
        read table t_zint_param with key zint_fn = 'LGORT'.
        if sy-subrc ne c_noerr.
          perform write_log_entry
            tables t_zint_mslog
            using  'E' 'ZINT_CSTPORD_ROUTINES'
                       'PROCESS_INBOUND_DATA'
                       'Parameter LGORT is missing from ZINT_PARAM'
                       p_zint_nw
                       lwa_01-ticketnumber.                " RJS
          exit.
        endif.
        loop at l_it_05 into lwa_05
          where ticketnumber = lwa_01-ticketnumber.
          clear lwa_gm_item_create.
          lva_filemat = lwa_05-material.
          if lva_filemat eq lva_prodmat.
            concatenate 'Command ticket-' lwa_05-ticketnumber
              into lwa_hdrlevel-conf_text.
            lwa_hdrlevel-conf_quan_unit = lwa_05-unitofmeasure.
            lwa_hdrlevel-yield          = lwa_05-quantity.
    check whether the confirmed value + current delivery value is equal *
    the production order qty. If the production order value is less
    than the total delivered value, set final conf indicator  and clear
    reservations
            lva_wemng = lva_wemng + lwa_05-quantity.
            if lva_wemng < lva_psmng.
              lwa_hdrlevel-clear_res      = c_false.
              lwa_hdrlevel-fin_conf       = ' '.
            else.
              lwa_hdrlevel-clear_res      = c_true.
              lwa_hdrlevel-fin_conf       = 'X'.
            endif.
            move: 'Z1BP_PP_HDRLEVEL' to t_idoc_data-segnam,
                  lwa_hdrlevel       to t_idoc_data-sdata.
            append t_idoc_data.
            clear lva_formmat.
            lva_formmat                   = lwa_05-material.
            lwa_gm_item_create-material   = lva_formmat.
            lwa_gm_item_create-plant      = lwa_03-plant.
            lwa_gm_item_create-ref_date   = lwa_01-ticketdate.
            lwa_gm_item_create-prod_date  = lwa_01-ticketdate.
            lwa_gm_item_create-move_type  = '101'.
            lwa_gm_item_create-spec_stock = 'E'.
            lwa_gm_item_create-sales_ord  = lva_saleord.
            lwa_gm_item_create-entry_qnt  = lwa_05-quantity.
            lwa_gm_item_create-entry_uom  = lwa_05-unitofmeasure.
            lwa_gm_item_create-orderid    = lva_prodord.
            lwa_gm_item_create-move_mat   = lva_formmat.
            lwa_gm_item_create-move_plant = lwa_03-plant.
            lwa_gm_item_create-mvt_ind    = 'F'.
            clear t_idoc_data.
            move: 'E1BP2017_GM_ITEM_CREATE' to t_idoc_data-segnam,
                  lwa_gm_item_create        to t_idoc_data-sdata.
            append t_idoc_data.
          else.
            clear: lva_loggr,
                   lva_formmat.
            lva_formmat = lwa_05-material.
            select single loggr into lva_loggr from marc
              where matnr = lva_formmat
              and   werks = lwa_03-plant.
            if sy-subrc ne 0.
              clear v_messg.
              No logistics handling group - log a warning message.
              concatenate 'No logistics handling group for material'
                           lva_formmat
                          'in plant'
                           lwa_03-plant
                into v_messg separated by space.
              perform write_log_entry
                tables t_ldata
                using 'W' 'ZINT_CSTPORD_ROUTINES'
                          'PROCESS_INBOUND_DATA'
                          v_messg
                          p_zint_nw
                          lwa_01-ticketnumber.                " RJS
              clear lva_loggr.
            endif.
            if lwa_03-satsur eq 'T'.
              lwa_e1edl21-lprio = 30.
            else.
              lwa_e1edl21-lprio = 20.
            endif.
          else.
            if lwa_03-satsur eq 'T'.
              lwa_e1edl21-lprio = 10.
            else.
              lwa_e1edl21-lprio = '  '.
            endif.
          endif.
          lwa_e1edl21-berot = lwa_04-driver.
          move: 'E1EDL21'   to t_idoc_data-segnam,
                lwa_e1edl21 to t_idoc_data-sdata.
          append t_idoc_data.
          lwa_e1edl55-qualf = '001'.
          lwa_e1edl55-refnr = lva_saleord.
          move: 'E1EDL55'   to t_idoc_data-segnam,
                lwa_e1edl55 to t_idoc_data-sdata.
          append t_idoc_data.
    Loop at materials - create delivery entry for each
          loop at l_it_05 into lwa_05
            where ticketnumber = lwa_01-ticketnumber.
            clear t_idoc_data.
            lwa_e1edl24-matnr = lwa_05-material.
            lwa_e1edl24-werks = lwa_03-plant.
            lwa_e1edl24-vfdat = lwa_01-ticketdate.
            lwa_e1edl24-lfimg = lwa_05-quantity.
            lwa_e1edl24-vrkme = lwa_05-unitofmeasure.
            lwa_e1edl24-lgort = t_zint_param-zint_fv.
            clear lva_loggr.
            lva_formmat = lwa_05-material.
            clear lva_loggr.
            select single loggr into lva_loggr from marc
              where matnr = lva_formmat
              and   werks = lwa_03-plant.
            if sy-subrc ne 0.
            No logistics handling group - log a warning message.
              concatenate 'No logistics handling group for material'
                           lva_formmat
                          'in plant'
                           lwa_03-plant
                into v_messg separated by space.
              perform write_log_entry
                tables t_ldata
                using 'W' 'ZINT_CSTPORD_ROUTINES'
                          'PROCESS_INBOUND_DATA'
                          v_messg
                          p_zint_nw
                          lwa_01-ticketnumber.                " RJS
              lva_loggr = 'BBIN'.
            endif.
            if lva_loggr is initial.
              move: 'E1EDL24'   to t_idoc_data-segnam,
                    lwa_e1edl24 to t_idoc_data-sdata.
              append t_idoc_data.
            endif.
          endloop.
          clear: lva_xabln,
                 lva_vbeln,
                 l_vbfa.
    Matching ticket against a Delivery?
          select single xabln vbeln into (lva_xabln,lva_vbeln) from likp
              where xabln = lwa_01-ticketnumber.
          if sy-subrc = 0.
    If found, does this delivery match the sales order?
            select * from vbfa into l_vbfa
              where vbelv = lva_saleord
              and   vbeln = lva_vbeln.
              exit.
            endselect.
          endif.
    No matching delivery found, or Matching delivery, but for other Sls Ord
          if lva_xabln is initial
          or ( lva_vbeln <> space and l_vbfa is initial ).
            if not lva_saleord is initial.
              perform create_delivery_idocs tables t_zint_mslog
                                            using  s_idcgp
                                                   lwa_01-ticketnumber
                                                   p_zint_nw.
            else.
              concatenate 'Error finding a Sales Order for ticket "'
                          lwa_01-ticketnumber
                          '" reprocess the file AFTER'
                          ' the sales order issues have been fixed'
              into        lva_outtext.
              perform write_log_entry tables t_zint_mslog
                                      using  'E'
                                             'ZINT_CSTPORD_ROUTINES'
                                             'PROCESS_INBOUND_DATA'
                                             lva_outtext
                                             p_zint_nw
                                             lwa_01-ticketnumber. " RJS
            endif.
          else.
            concatenate 'Command Ticket "'
                        lwa_01-ticketnumber
                        '" has already been processed into delivery "'
                        lva_vbeln
            into        lva_outtext.
            perform write_log_entry tables t_zint_mslog
                                    using  'I'
                                           'ZINT_CSTPORD_ROUTINES'
                                           'PROCESS_INBOUND_DATA'
                                           lva_outtext
                                           p_zint_nw
                                           lwa_01-ticketnumber. " RJS
            refresh t_idoc_data.
          endif.
        endif.
        refresh t_idoc_data.
    Write out all messages collected so far
        perform update_data tables t_zint_mslog
                            using p_zint_id p_zint_ty.
      endloop.
    Write out all messages collected so far
      perform update_data tables t_zint_mslog
                          using p_zint_id p_zint_ty.
    endform.                    " process_inbound_data
    Thnaks
    Regards

    Thanks
    Thread closed

  • PRT availaibility check in production order.

    Hi
    I have created PRT of type M and attached to operation and when i try do availaibility check in production order then iam getting message "PRT availability could not be checked"
    What are pre-requisite for getting PRT availability check?
    Is it possible to check PRT availability  for all types of PRTs?

    Dear ,
    You are facing this error due to PRT avialability check not activated in order type level while creation of production order .
    To avoid this issue you need to goto -OPJK-Order Cotol -Select the order type , availability chek (1,2)  .Here you need to keep
    PRT Availablty Check tab -Checking Rule -01 and PRT Release -01 or 02 based on your requirement .
    As prequisit : You need to create the PRT material master with availabilty check 01 and keep this in BOM.In CO02 -Operation Overview -Select the Operation -Hit on PRT button-It will apear with a screen Production Order Changes -PRT -Select the PRT material  with Qty , Control Key .
    Hope this will give u an idea .
    Regards
    JH

  • Production Order qty in Report Painter

    Can we get Production Order qty in Report Painter?
    I have tried and used couple of Libaries but the values are not getting updated in report.
    Can anybody please tell me which Library and Table combination to to get the result.
    Kami

    Hi
    Prod order qty (Target / Plan / Actual) is available in KKO0 reports
    To activate them:
    a. OKN0: Assign a cost comp str here and choose Product Group = Material Group.. Transport this setting
    b. Run KKRV every month after period end settlements are over...
    c. Finally execute KKO0 reports
    b and c you need to do every month... a is one time setting
    br, Ajay M

  • Availbility check in production order

    Hi Friends
    We need to have the availbility check in production order , where we need to exclude some of the storage locations stock & include some of the storage locations stock
    How we can achive this
    In Customising , either it says to take all the storage locations stock OR to exclude all the storage locations stock

    Hi
    Check in T code OPJJ for the availablity check  control which you are using in Material master. also check the stocks tab for selcting your type of stocks while doing the availablity check
    Also check the control for your oder type in OPJK
    Check and revert
    Regards
    Anupam Sharma
    Edited by: anupam sharma on Dec 21, 2009 2:53 PM

  • Production Order Qty- Inspection Lot Qty

    Hi Guru's,
    When an  production order is relreased an inspection lot is creaetd with the production Qty. But later when we change Qty for  the released Prodction Order the inspection lot  Qty is not changes it remains the same as previous Order Qty.
    Say for Ex: intial Prod  order qty (MTS Scenario) is 200 (production order released). Inspection lot Qty is 200.
    Later  User changes the Qty to  100. Our problem is the inspection lot qty  does not change ramins the same as 200. Can inspection lot qty be changed automically on change of production order qty .
    What settings need to change? pls advise
    Regards,
    Sankaran
    Edited by: Sankaran M on Oct 10, 2008 9:41 AM

    Hi Sankaran,
    It is possible if the user not doing any result against existing lot.
    Follow the Below step.
    Your Existing order Qty = 200 Nos Inspection lot no 300000200.
    Now you want change the Qty as 200 to 100.
    Before change the qty, first you have to delete the Inspection lot Go to CO02 -> Got to menu Functions -> Inspection lot -> Delete.
    Now change the Qty 100.
    And Again go to Functions -> Inspection Lot -> Create. and save the order.
    Now system will delete the Old indpection lot and create the new inspection lot.
    Qty : 100 Inspection Lot 300000201.
    Revert further clarification.
    Regards,
    S.Babusingh

  • Authorization check for production order settlement

    Hi All,
    Production order settlement currently can be done by any user of any company code. there is a high risk involved in the same since unauthorized postings may happen. Hence we need to add authorization check for production order settlement. Can we maintain the same at the plant or the company code level?
    Waiting for your replies. Thanks in advance!
    Regards,
    Aman Goel

    hi
    What venki has told abt the exit, its absolutely correct.Even i have used the same exit
    •     From table CAUFV pick Material(PLNBEZ),Basic Start Date(GLTRP),Plant(WERKS) .
    •     Pass parameter Material(PLNBEZ) and Plant(Werks) in table MBEW in respective fields i.e. Material(MATNR) and Plant(WERKS).
    •     Pick the latest record for the current period(LFMON) and year(LFGJA).
    •     Pick Product Cost Estimate number(KALN1) from the record and pass it to table KEKO.
    •     Check if Production Order Basic Start Date(GLTRP)<= BIDAT, if NO post Error Message.
    This is the FS for EXit PPco0007
    Reward if useful
    Amit

  • Excess Qty confirmation than Production order qty

    Hi
    SAP Experts
    Is it possible to confirm excess qty of yield in co11n against Production order qty.
    pl. guide me the steps required.
    with Best Regards
    Yogesh

    Yes,
    If you do not waht to conform excess qty than the production order qty, then the following are the options
    - as our friend told in Work scheduling view the under/over delivery tolerance should be zero and unlimited delivery tick should not be active
    - In production order the under/over delivery tolerance should be zero and unlimited delivery tick should not be active.
    - In OPK4 fior the combintaion of plant and order type the following confirmation parameters are to be maintained
    Under delivery - X error if qty below under delivery tolarance
    Over delivery - X error if qty above over delivery tolarance.
    With this settings you can avoid what you wanted.

  • In inprocess inspection lets say the production order qty is 20. i would want only 1 no. to be inspected while inprocess inspection is configured. kindly guide. Regards,Mathew

    In inprocess inspection lets say the production order qty is 20. i would want only 1 no. out of the 20 to be inspected while inprocess inspection is configured. kindly guide.
    Thanks in Advance
    Regards,
    Mat

    Hi Mathew,
    Create sampling procedure with fixed sample and give sample size = 1. Assign this sampling procedure for the characteristics of the in-process materials in Routing/Master Recipe etc. For sample size calculation at-least one characteristic should be required characteristic for the Material.
    Thanks&Regards,
    kumar

  • Material availability  check for production order

    Hello,
    Is there any functional module to check the material availability of production order. So that it can be used in developments.
    Regards,
    Ganesh

    Hi,
    Following are the available Function Modules for avaibility checks in Production orders,
    BAPI_PRODORD_CHECK_MAT_AVAIL -  BAPI: Execute Material Availability Check for Production Orders
    And for Process Orders,
    BAPI_PROCORD_CHECK_MAT_AVAIL - BAPI: Execute Material Availability Check for Process Orders
    Regards,
    Dhaval

  • Reg: Error in availability check in production order

    Dear all,
    I am facing a problem during availability check. After creation of production order, when i am clicking 'Materials' it is showing a error message as 'Incorrect check'. When i click log, the error msg is "Order type xxxx, plant xxxx: Checking rule missing (see long text)".
    But in OPJK i checked it. Availabilty check is '2', checking rule is 01, Release material is '1'
    Please help me in this case.

    Hi krishnachandra,
    I think that you still don't assign any checking rule for your Order type.
    FIrst, please check what production order type is. (On production order header: CO03)
    Second, go to OPJK to create new entry and assign appropriate checking rule to that Order type.
    Then go to your production order and check Material to see the result.
    In case you just maintain one entry only with availability check 2 (check availability during order release). You have to release you production order to check material availability check.
    Hope it helpful for you.
    Edited by: dennydang on Jan 11, 2012 4:43 PM

  • Collective ATP check for production orders

    Hi Gurus,
    I tried the MDVP tcode, but I can only do the collective ATP check for planned orders. we wanted to do the collective check with production orders, can you tell me how I can do this?
    Thanks.

    I've posted this question but didn't get any response. Can some one please give me an idea how to do the collective ATP check for production orders.
    Thanks
    Vijaya

  • Check for Production Order

    Hi experts
    i want to put a check while Production order creation such that without Standard cost estimate(costing),It should not allow to create Production order.
    Regards
    Sandeep Patil

    hi
    What venki has told abt the exit, its absolutely correct.Even i have used the same exit
    •     From table CAUFV pick Material(PLNBEZ),Basic Start Date(GLTRP),Plant(WERKS) .
    •     Pass parameter Material(PLNBEZ) and Plant(Werks) in table MBEW in respective fields i.e. Material(MATNR) and Plant(WERKS).
    •     Pick the latest record for the current period(LFMON) and year(LFGJA).
    •     Pick Product Cost Estimate number(KALN1) from the record and pass it to table KEKO.
    •     Check if Production Order Basic Start Date(GLTRP)<= BIDAT, if NO post Error Message.
    This is the FS for EXit PPco0007
    Reward if useful
    Amit

Maybe you are looking for