SAP Rules / Considerations behind ATP for Purchase Orders

Hi
Can anyone guide me to the considerations taken into account for ATP check for Purchase orders,
Kind Regards
Bhavana

Hi,
Please find the logic.
ATP quantity
Specifies the available quantity from each receipt that can still be used to cover further requirements.
Use
The ATP quantity is calculated as follows:
Initially, the ATP quantity of a new receipt is the complete receipt quantity. During the availability check according to ATP logic, the system only takes into account receipts that lie before a requirement. A requirement first reduces the most recent receipt (and thus the ATP quantity of this receipt). If a rest quantity remains for this receipt, this quantity is the new ATP quantity for this receipt and it can be used to cover a further requirement.
If one receipt does not completely cover the requirement, the system reduces further receipts and their ATP quantities until the requirement has been completely covered.
If no further ATP quantity is available to cover a requirement or if a requirement can only be partially covered, then this shortage quantity is displayed in the requirements line as a negative ATP quantity.
http://help.sap.com/erp2005_ehp_04/helpdata/EN/c1/3764f4449a11d188fe0000e8322f96/content.htm
http://help.sap.com/erp2005_ehp_04/helpdata/EN/4c/227d1046e611d189470000e829fbbd/content.htm
and the above links will provide you some idea.
Regards

Similar Messages

  • What is  Sap Scripts for purchase order

    hai,
    what is the sap script or smart form for purchase order,
    and how to modify the existing standerd one.
    explain me in step by step.

    hi
    Please ask question on sapscript in sapscript forum.
    use sap script form  medruck for PO
    SmartForm /BPR3PF/MMPO_L is the standard delivered Purchase Order in 4.6c
    Transaction code m/34 allows you to associate your 'Y' copy of the standad PO to your included company specific PO requirements such as company log graphic and other particulars.
    Go to transaction OMFE. Tell me what you see there for the output type you are interested in. Let me take the standard output type NEU. The entry looks something like this.
    NEU Purchase order 1 SAPFM06P ENTRY_NEU MEDRUCK.
    The first one is your output type, next is its description, next is the medium, then the program, routine, and the form name.
    You already copied the layout MEDRUCK to ZMEDRUCK. Now copy SAPFM06P to ZZSAPFM06P. Now ENTRY_NEU routine is in the include FM06PE02. You need to make your changes here to accommodate for the new field. So copy this include to ZZFM06PE02 and make your changes. Also, in ZZSAPFM06P, change the line where it says INCLUDE FM06PE02 to INCLUDE ZZFM06PE02.
    Now in this routine ENTRY_NEU, there is a function module call ME_READ_PO_FOR_PRINTING which reads in the PO data from the tables. We need to copy this function module as well as this is where you will do your extra selections for the new fields. You will do the same with the other function call ME_PRINT_PO, if you need to change anything on the print.
    after this to define output type...
    NACE
    You can track the form and the print program used for that form
    NACE is used to create output type while creating the output type you will mention forms, and driver program.
    that will be maintained in the table TNAPR.if you create the output type using NACE then it will be automatically visible in table NAST and TNAPR.
    so check in NAST, TNAPR table
    http://help.sap.com/saphelp_erp2005/helpdata/en/c8/1989fe43b111d1896f0000e8322d00/frameset.htm
    Condition records in NACE?
    EX--in simple terms..take a transaction say ME21N ( Purchase Order ), u can see a Print icon there. now when u click on this icon, it has to print the PO document. Now how does it do that? when u click Print, the control gets transffered to a print program, now which program gets triggered is decided by what program name u specify in NACE.
    So in NACE>EF>Output Type>NEU>processing routine--> u can see some standard program already configured( maybe SAPFM06P n form MEDRUCK )..these are the programs n sapscript that gets executed wen u say "PRINT" in the transactrion...so u can customise the print program for customer changes over here by copying the standard program n form into a Z/Y one and replacing the program names in NACE.
    Yogesh N
    Edited by: Yogesh N on Aug 20, 2008 3:19 AM

  • Missing Parts report for Purchase Orders

    Hey Gurus,
    We are running the availability check for Purchase orders and the user group is wondering if there is a standard Missing Parts report in SAP similiar to transaction CO24 for Purchase Orders so that they can view all of the Purchase orders with missing parts.
    As a side note,  we are using subcontracting purchase orders.

    didn't get a response.

  • SAP how to determine the account in Goods receipt for purchase order?

    We know when we make a Goods receipt for purchase order,we will use the account in GBB and BSX define in OBYC. But where can we find the rule? I mean why system can find the account in GBB and BSX , not the other TEcode?

    HI
    This is again based on the movement type which SAP has created a link internally.
    So if you see when a document is posted it basically derives the GL accounts based on the Movement type,Valuation class,valaution area and so on.
    Good luck
    Hari

  • To send IDOC to vendor from SAP for purchasing order

    Hi Gurus,
    I want to setpu an EDI for send the outbound & inbound idocs to vendor for purchasing order from SAP and below are the message type I am using:
    Outbound message type :
    ORDERS
    Inbound message type :
    ORDRSP
    INVOIC
    I know how to set up the link, making the partner profiles attaching the process code, assigning the ports but I want to know the below customize set up:
    1) Which transaction I need to used for customize this sceranio
    2) Could you provide me any documentation which specifies the steps for configuration
    And other details which I am suppose to know.
    Please reply me as soon as possible as I am urgently in need of this.
    Regards,
    Sagar

    Hi Sagar
    For the Confirmation you need to do the customizing for confirmation control, like what would you like to do after the confirmation. Confirmation is an inbound process.
    For Invoice you need to complete the customizing under LIV in SPRO- for Invoices received via EDI.
    Please go throught the help link for further details.
    http://help.sap.com/saphelp_47x200/helpdata/en/a8/b99f58452b11d189430000e829fbbd/frameset.htm
    Reward points if useful
    Thanks & regards
    Kishore

  • Standard n-step approval workflow for Purchase Order in sap 4.7?

    Hello friend,
                 In SAP 4.7 there is any standard template for  n-step approval workflow for Purchase Order.
    thanks in advance.

    Hi AM,
    there is no std template for n-step approvals but for Single Release.
    What you could do is create a custom one as per the number of approvals for PO.
    Also note a PO Release Strategy can handle only 8 levels of approval.
    Hope it helps.
    Aditya

  • Sales order ATP vs Purchase order inventory commitment

    Hello,
    Have issue and hope someone can advise.  The basic problem is sales order is receiving confirmed ATP against inventory, even though that inventory is consumed by a purchase order.
    Here's the flow:
    1.  Plant A (receiving):  places purchase order (doc type NB) & commits all of whatu2019s in stock at plant B
    2.  Plant B (supplying):  standard sales order is created after above purchase order for identical material, date, quantity
    Check rule (t/c OVZ9) for sales order is ticked for u201CInc. purchase ordersu201D
    Not sure if this has bearing, but these plants are under different company code so thisu2019d be intercompany.
    Expectation is the sales order in this scenario would receive delivery commit per lead time on the material (since it was created after the PO), but instead it is happening against stock already given to the purchase order.  Any suggestions on what is needed to fix so the sales order does not get ATP from stock already committed to a purchase order?  Thanks

    Hi,
    In T.code OVZ9, for your availability checking rule and Availability check combination, you need to select value X or A, in the field Incl. release order requirements.
    Regards,

  • Require Standard DataSources for Purchase Orders

    Hi,
    Please provide me the standard datasources for purchase orders to get the data updated automatically in a BI System.
    I have to display report containing the purchase orders details of each day.
    Regards
    Sunil Kumar

    Hi,
    Following link will give you complete details of purchase order deports and data sources.
    http://help.sap.com/saphelp_nw70/helpdata/en/df/cfb839f6a7a307e10000000a11402f/frameset.htm
    Regards,
    Vishnu

  • Use of SAVE_TEXT in customer exits / BADI for purchase order

    Hi All,
    I am trying to save some long text by using SAVE_TEXT function module in a badi implementation for purchase order header text. The same is working fine if i try to update the PO header text via a report. But if i try using badi (the code is written in a PAI event for the BADI), then though the text transfer and save is successful during the code excution, but for the first time when i add any text its not visible in ME22N tcode. Since its an online event. But when i double click on that editor and the sap script editor gets opened. then i press back button, the text is appearing on the same small screen edtor . after this any number of time i edit or delete text, the save_text function module works fine.
    My issue is why for the first time always i have to double click on the editor to open the sap script editor. I have also included commit_text in this case after save_text FM.
    the requirement here goes like this. in one tab for PO header the user will enter some number (This is a customizing screen implemented through badi.) and the corresponsing discription should appear when user clicks on text tab in po header screen (me21n / me22n).
    Kindly help.
    Thanks
    Mamata

    Hi  mamata rath
    I have solve the problem which similar to yours.  the code which is as the following
    DATA: textline TYPE tdline,
            name TYPE c LENGTH 70,
            glines TYPE TABLE OF tline,
            gline  LIKE LINE OF glines,
            ls_header TYPE thead.
         CONCATENATE ch_eban-banfn ch_eban-bnfpo INTO name.
             ls_header-tdobject = 'EBAN'.
             ls_header-tdname = name.
             ls_header-tdid = 'B01'.
             ls_header-tdspras = sy-langu.
             CALL FUNCTION 'SAVE_TEXT'
               EXPORTING
    *           CLIENT                = SY-MANDT
                 header                = ls_header
    *           INSERT                = ' '
    *           SAVEMODE_DIRECT       = ' '
    *           OWNER_SPECIFIED       = ' '
    *           LOCAL_CAT             = ' '
    *         IMPORTING
    *           FUNCTION              =
    *           NEWHEADER             =
               tables
                 lines                 = glines
               EXCEPTIONS
                 ID                    = 1
                 LANGUAGE              = 2
                 NAME                  = 3
                 OBJECT                = 4
                 OTHERS                = 5
              IF sy-subrc = 0.
                  CALL FUNCTION 'COMMIT_TEXT'
                    EXPORTING
                      OBJECT                = 'EBAN'
                      NAME                  = name
    *                ID                    = '*'
    *                LANGUAGE              = '*'
    *                SAVEMODE_DIRECT       = ' '
    *                KEEP                  = ' '
    *                LOCAL_CAT             = ' '
    *              IMPORTING
    *                COMMIT_COUNT          =
    *              TABLES
    *                T_OBJECT              =
    *                T_NAME                =
    *                T_ID                  =
    *                T_LANGUAGE            =
              ENDIF.

  • Driver program for Purchase Order form "/SMB40/MMPO_A"

    Hi All
    Could you please suggest me Driver program for Purchase Order form "/SMB40/MMPO_A" ?
    Driver program "/SMB40/FM06P" does not have the same interface structure as this form, hence can not be used.
    << Text removed>>.
    Regards
    Ansh
    Edited by: Matt on Mar 27, 2009 7:22 AM - Please do not offer points

    Hi Ansh
    see this link
    [Driver program |https://forums.sdn.sap.com/click.jspa?searchID=24089230&messageID=6810108]
    Regards
    HAreesh Menon

  • Problem in creating a SyncBo for Purchase Order BAPIs

    Hello Everybody,
    I am trying to create a smart sync application for Purchase Orders.
    I have used standard bapis like BAPI_PO_GETDETAIL AND BAPI_PO_CREATE1.
    I have developed my own wrapper functions using these std bapis. For the PO creation i only plan to insert the necessary and mandatory data. The problem i face is that some of the tables in the create bapi which are mandatory for a PO creation are freezed in the SyncBo.
    Tables like POITEMX, POADDRDELIVERY, POSCHEDULE and structure POHEADERX are all required for the creation of a PO. Without this minimum data a PO cannot be created.
    After i have created the syncBo, on the mapping screen i can only see these tables under the create BAPI. But i am not able to perform the mapping of their fields. These are non-editable or i must say that they are freezed.
    And if i cannot map them then i cannot pass data for them from the client. Although i can do the mapping for the table PO_ITEM and the structure PO_HEADER.
    I hope i am able to expplain my problem. Kindly get back to me if i am not clear. Any sort of help is welcome.
    Thanking in advance,
    Saurabh.

    Hi Saurabh,
    Hope you are aware of the prerequisites for creating the BAPI Wrappers.
    If you want to insert some data into the Business Object, then you have to include
    GETLIST, GETDETAIL and CREATE Bapi Wrappers.
    I think in your case,
    You might not have mapped those fields in your GETLIST Bapi Wrapper.Just check whether you have mapped those fields that are necessary for PO creation in your GETLIST and GETDETAIL BApi wrapper mapping screen.
    Those fields you have mapped in the GETLIST and GETDETAIL BAPI wrappers will be visible (for selection - checkboxes will be editable) in the mapping screen for CREATE BAPI Wrapper.
    So first of all, you have to map fields there in the mapping screens for GETLIST and GETDETAIL Bapi Wrappers...
    check this thing...
    refer these links..
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/com.sap.km.cm.docs/library/mobile/mobile%20infrastructure/mobile%20development%20kit%202.5/content/appdev/smartsync/introduction.html
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/com.sap.km.cm.docs/library/mobile/mobile%20infrastructure/mobile%20development%20kit%202.5/content/appdev/smartsync/bapi_wrapper_types.html
    In the second link, you can see one figure, which is explaining the things that are to be satisfied by the BAPI Wrappers for SyncBO creation...
    Let me know If you have doubts in the prerequisite section itself...
    Regards,
    Kishor Gopinathan

  • Getting errors when iam using  BAPI_PO_CREATE1 for Purchase Order creation

    Hi sap Gurus,
      I am getting Errors when iam using  BAPI_PO_CREATE1 for Purchase Order creation that Material (144) does not exist but it is alreardy maintained in MM01.
    I dont get how it is coming.and what are the mandatory fields in bapi BAPI_PO_CREATE1 in item level .that is too material only.
    pls let me know .
    thanks in advance.

    Hi,
    Check the sample code..
    report  zpo_test             .
    *DATA DECLARATION
    constants : c_x value 'X'.
    *Structures to hold PO header data
    data : header like bapimepoheader ,
    headerx like bapimepoheaderx .
    *Structures to hold PO account data
    data : account like bapimepoaccount occurs 0 with header line ,
    accountx like bapimepoaccountx occurs 0 with header line .
    *Internal Tables to hold PO ITEM DATA
    data : item like bapimepoitem occurs 0 with header line,
    itemx like bapimepoitemx occurs 0 with header line,
    *Internal table to hold messages from BAPI call
    return like bapiret2 occurs 0 with header line,
    *Internal table to hold messages from BAPI call
    pocontractlimits like bapiesucc occurs 0 with header line.
    data : w_header(40) value 'PO Header',
    purchaseorder like bapimepoheader-po_number,
    delivery_date like bapimeposchedule-delivery_date.
    data : ws_langu like sy-langu.
    *text-001 = 'PO Header' - define as text element
    selection-screen begin of block b1 with frame title text-001.
    parameters : company like header-comp_code default '122' ,
    doctyp like header-doc_type default 'NB' ,
    cdate like header-creat_date default sy-datum ,
    vendor like header-vendor default '2000000012' ,
    pur_org like header-purch_org default 'PU01' ,
    pur_grp like header-pur_group default '005' .
    *sociedad like HEADER-COMP_CODE default '122' ,
    *vendedor like HEADER-SALES_PERS default 'sale person'.
    selection-screen end of block b1.
    selection-screen begin of block b2 with frame title text-002.
    parameters : item_num like item-po_item default '00010',
    material like item-material default '12000000' ,
    tipo_imp like item-acctasscat default 'K' ,
    *pos_doc like ITEM-ITEM_CAT default 'F' ,
    shorttxt like item-short_text default 'PRUEBA BAPI' ,
    grup_art like item-matl_group default '817230000' ,
    plant like item-plant default '3001' ,
    mpe like item-trackingno default '9999' ,
    *contrato like ITEM-AGREEMENT default '4904000003' ,
    *quantity like ITEM-QUANTITY default 1 .
    po_unit like item-po_unit default 'EA'.
    selection-screen end of block b2.
    Par?mnetros de imputaci?n
    selection-screen begin of block b3 with frame title text-004.
    parameters : centro like account-costcenter default '1220813150',
    cuenta like account-gl_account default '6631400' ,
    num_pos like account-po_item default '10' ,
    serial like account-serial_no default '01' ,
    ind_imp like account-tax_code default 'I2' .
    selection-screen end of block b3.
    start-of-selection.
    *DATA POPULATION
      ws_langu = sy-langu. "Language variable
    *POPULATE HEADER DATA FOR PO
    *HEADER-COMP_CODE = sociedad .
      header-doc_type = doctyp .
      header-vendor = vendor .
      header-creat_date = cdate .
      header-created_by = 'TD17191' .
      header-purch_org = pur_org .
      header-pur_group = pur_grp .
      header-comp_code = company .
      header-langu = ws_langu .
    *HEADER-SALES_PERS = vendedor .
    *HEADER-CURRENCY = 'DOP' .
    *HEADER-ITEM_INTVL = 10 .
    *HEADER-PMNTTRMS = 'N30' .
    *HEADER-EXCH_RATE = 1 .
    *POPULATE HEADER FLAG.
      headerx-comp_code = c_x.
      headerx-doc_type = c_x.
      headerx-vendor = c_x.
      headerx-creat_date = c_x.
      headerx-created_by = c_x.
      headerx-purch_org = c_x.
      headerx-pur_group = c_x.
      headerx-langu = c_x.
    *HEADERX-sales_pers = c_x.
    *HEADERX-CURRENCY = c_x.
    *HEADER-ITEM_INTVL = c_x.
    *HEADER-PMNTTRMS = c_x.
    *HEADER-EXCH_RATE = c_x.
    *HEADER-EXCH_RATE = c_x.
    *POPULATE ITEM DATA.
      item-po_item = item_num.
      item-quantity = '1'.
    *ITEM-MATERIAL = material .
      item-short_text = 'prueba bapi_po_create1'.
    *ITEM-TAX_CODE = ''.
      item-acctasscat = 'K' .
    *ITEM-ITEM_CAT = 'D' .
      item-matl_group = '817230000' .
      item-plant = '3001' .
      item-trackingno = '99999'.
      item-preq_name = 'test'.
    *ITEM-AGREEMENT = '' .
    *ITEM-AGMT_ITEM = ''.
      item-quantity = '1' .
      item-po_unit = 'EA'.
    *ITEM-ORDERPR_UN = 'EA'.
      item-conv_num1 = '1'.
      item-conv_den1 = '1'.
      item-net_price = '1000000' .
      item-price_unit = '1'.
      item-gr_pr_time = '0'.
      item-prnt_price = 'X'.
      item-unlimited_dlv = 'X'.
      item-gr_ind = 'X' .
      item-ir_ind = 'X' .
      item-gr_basediv = 'X'.
    *ITEM-PCKG_NO = '' .
      append item. clear item.
    *POPULATE ITEM FLAG TABLE
      itemx-po_item = item_num.
      itemx-po_itemx = c_x.
    *ITEMX-MATERIAL = C_X.
      itemx-short_text = c_x.
      itemx-quantity = c_x.
    *ITEMX-TAX_CODE = C_X.
      itemx-acctasscat = c_x.
    *ITEMX-ITEM_CAT = c_x.
      itemx-matl_group = c_x.
      itemx-plant = c_x.
      itemx-trackingno = c_x.
      itemx-preq_name = c_x.
    *ITEMX-AGREEMENT = C_X.
    *ITEMX-AGMT_ITEM = c_x.
      itemx-stge_loc = c_x.
      itemx-quantity = c_x.
      itemx-po_unit = c_x.
    *ITEMX-ORDERPR_UN = C_X.
      itemx-conv_num1 = c_x.
      itemx-conv_den1 = c_x.
      itemx-net_price = c_x.
      itemx-price_unit = c_x.
      itemx-gr_pr_time = c_x.
      itemx-prnt_price = c_x.
      itemx-unlimited_dlv = c_x.
      itemx-gr_ind = c_x .
      itemx-ir_ind = c_x .
      itemx-gr_basediv = c_x .
      append itemx. clear itemx.
    *POPULATE ACCOUNT DATA.
      account-po_item = item_num.
      account-serial_no = serial .
      account-creat_date = sy-datum .
      account-costcenter = centro .
      account-gl_account = cuenta .
      account-gr_rcpt = 'tester'.
      append account. clear account.
    *POPULATE ACCOUNT FLAG TABLE.
      accountx-po_item = item_num .
      accountx-po_itemx = c_x .
      accountx-serial_no = serial .
      accountx-serial_nox = c_x .
      accountx-creat_date = c_x .
      accountx-costcenter = c_x .
      accountx-gl_account = c_x .
      account-gr_rcpt = c_x.
      append accountx. clear accountx.
    *BAPI CALL
      call function 'DIALOG_SET_NO_DIALOG'.
      call function 'BAPI_PO_CREATE1'
        exporting
          poheader         = header
          poheaderx        = headerx
        importing
          exppurchaseorder = purchaseorder
        tables
          return           = return
          poitem           = item
          poitemx          = itemx
          poaccount        = account
          poaccountx       = accountx.
    *Confirm the document creation by calling database COMMIT
      call function 'BAPI_TRANSACTION_COMMIT'
      exporting
      wait = 'X'
    IMPORTING
    RETURN =
    end-of-selection.
    *Output the messages returned from BAPI call
      loop at return.
        write / return-message.
      endloop.
    Regards
    Sudheer

  • Error - E 036 No goods receipt possible for purchase order

    Good Day,
    Am not able to do the Goods Receipt through BAPI : BAPI_GOODSMVT_CREATE.But am able to create GR through MIGO.Am getting the below error through BAPI:
    E 036 No goods receipt possible for purchase order  4500000563 0010.
    I gone throug the SDN,  but i count not found any solution for this. Please help me in this regard.
    Cheers,
    sravan

    Hi,
    Maybe this example can help you.
    http://www.sap-img.com/abap/bapi-goodsmvt-create-to-post-goods-movement.htm
    Regards,
    Harish

  • No goods receipt possible for purchase order 4701088161 00050

    Dear SAP Gurus,
    The Error is coming
    No goods receipt possible for purchase order 4701088161 00050 when we create goods receipt note only 39 qty.
    done..they want all 99 qty.come in single goods receipt....what exactly problem facing at the time of posting???

    Hi,
    Pl. check whether the Goods Receipt has not been done already for this PO.
    Also, check the message details by clicking on the question mark for the message, so that you will get exact reason, due to which the message is being given.
    Regards,
    Prashant Kolhatkar

  • Activating conditions for Purchase Order workflows in EBP

    Dear SRMer's,
    I am facing the following problem:
    System Info :SRM Server 5.5, ECC 6.0
    Scenario 1:
    All start conditions for Purchase Order in SAP Business Workflow are activated.
    I created a direct procurement shopping cart (DP)  in SRM browser and ordered it, then I logged in as proffessional purchaser, changed the Price and processed the DP PO.
    When Ordering, the follow on Documents are created, but says the PO is waiting for approval.  When I check for this PO in the Backend R/3 system in the Me22n (Display PO changes), I don't see the PO.
    Scenario 2:
    All Start conditions for Purchase Order in SAP Business Workflow are de-activated
    I created  another direct procurement shopping cart (DP2)  in SRM browser and ordered it, then I logged in as proffessional purchaser, changed the Price and processed the DP2 PO (Status is held). 
    When Ordering, I get the Warning message, no workflow found, contact system administrator.
    Please advice what needs to be configured for the PO to be ordered successfully.
    Thanks in advance
    Raj

    Hi,
    In your scenario 1, if system is saying that there the PO has to be approved, it means that you have managed the user that will receive the workitem..
    Activating all PO WF is not a solution as in standard there are two many cases activated (amount, role, limit...)
    I propose you to first activate only the 0 step WF and to overwrite the code inside
    Just code that every PO modification should trigger O step WF thus it will be more simple to test it.
    Later on, if you want to implement more complex starting conditions, you just have to modify the WF content...
    Kind regards,
    Yann

Maybe you are looking for