PO Amendment and approval procedure

Hi Experts,
My customer would like to have approval on PO amendment, he want an approval on changes in price and quantity.
In SAP B1 before GRPO or AP Invoice anyone can do amendment in PO and all the amendment we can see through change log.
To have control on this kind of amendment my client need Approval on PO updation.
Can we have uery base approval on PO updation?
Pls. give me solution for the same.
Regards
Kamlesh Vagal

Dear Kamlesh,
once we use sap standard approval procedure, we cannot amend the PO once it is approved. you can do changes till the PO is not approved (by Rejecting or Not Approved decision). Once approved it cannot be changed. Here you can try to convince your client that SAP follows a basic principle that once document is approved it should not be updated. If you allow it to amend then the Approval has no meaning. In such scenario your client may argue that we'll have approval even for amendments then you need to do it thru customizaation

Similar Messages

  • Delivery date and approval procedure

    Hello,
    My customer has the next problem. He generate a purchase order after approval procedure was ended. sometimes he wants to update the delivery date field in the row of the purchase order, but he can't do so because approval procedure restrict any changes in row level.
    what can be done to solve it.
    thank you all

    It is always very interesting how people seem to simply accept that the system can not perform basic functions.
    In our company, we are facing some critical issues because of this problem. E.g: a purchase order has been approved and teh supplier rings to inform us of supply delays. The procurement officer can not update the delivery date on the purchase order to document the updated delivery day.
    This is obviously causing some major drama at the warehouse as they rely on the delivery date of purchase orders to prepare the space required to receive goods.
    This is also impacting the work of the procurement manager who will possibly ring the supplier to inform him of delays when relasticly, the company has already been informed.
    The approval process in SAP Business One is lacking a basic function of "loop" or simply a system to identify non critical fields which can be updated once the document has been approved (like a date, some remarks etc.).
    SAP, it is time to work on a few basic ERP things.
    Vincent Motte

  • UDO and approval procedures

    There is a way to integrate a UDO (type Document) with the approval procedures of SAP BO?

    As far as I know, it is not possible.  Approval procedures are only applied to Marketing Documents and some of Inventory Documents on 2007 version.
    Thanks,
    Gordon

  • SBO_SP_Transactionnotifaction and Approval Procedures

    Hi,
    I understand I cannot use SBO_SP to validate row level data in modules where the Approval Procedure are active.
    Is there another way to do the following?
    I have three header level and row level UDF's that I need to be validated before the users saves the document as draft in the approval procedure. Once the document enter the approval stages it can no longer be update to enter or change the UDF's, in the rows.
    U_BU
    U_DEPT
    U_ProjectInv
    Code being used fro other modules. I had to remove modules in approval procedure as documents would simply disaaper when saves as DRAFT.
    MY CODE for non approval modules:
    +++++++++++++++++++++++++++++++++
    ---+Force BU DEPT and PROJECT -- IN ALL REQUIRED DRAFT DOCUMENTS++++++++++++++++++++++++++++
    IF @transaction_type IN ('A','U') AND @object_type = '112'
    BEGIN
    IF EXISTS (
    select T0.Docentry
    FROM     ODRF     T0     inner join DRF1 T1 ON T1.docentry = T0.Docentry and lineStatus ='O'
    --select * from ODRF
    WHERE
    T0.ObjType in ('13','16','17','18','20','22','23','203','204') and
    -- ('14','59','60','19''15', )Remove These object as SBO_SP is not compatible with Approval Proceedure
    (T0.DOCENTRY = @list_of_cols_val_tab_del  and NOT(T0.U_BU IN (SELECT code FROM [@sg_BU] where code = T0.U_BU)))
    or
    (T0.DOCENTRY = @list_of_cols_val_tab_del  and NOT(T0.U_DEPT IN (SELECT code FROM [@sg_DPT] where code = T0.U_DEPT)))
    or
    (T0.DOCENTRY = @list_of_cols_val_tab_del  and NOT(T0.PROJECT IN (SELECT Prjcode FROM [OPRJ] where PrjCode = T0.project)) and not (T0.objtype in ('59','60')))
    or
    (T1.DOCENTRY = @list_of_cols_val_tab_del  and NOT(T1.U_BU IN (SELECT code FROM [@sg_BU] where code = T1.U_BU)))
    or
    (T1.DOCENTRY = @list_of_cols_val_tab_del  and NOT(T1.U_DEPT IN (SELECT code FROM [@sg_DPT] where code = T1.U_DEPT)))
    or
    (T1.DOCENTRY = @list_of_cols_val_tab_del  and NOT(T1.PROJECT IN (SELECT PrjCode FROM [OPRJ] where PrjCode = T1.project)) )--and not (@object_type in ('59','60'))
    BEGIN
    SELECT @Error = 1, @error_message = 'Business Unit - Department or Project missing from User Defined Fields or Rows'
    END
    END
    ++++++++++++++++++++++++++++++++++
    Kind regards
    Eric

    Hector,
    Sorry for the delay.
    The reason I understand it cannot be done as there are postings indicating that SBO_Notifications cannot be used with modules running the SAP Approval Process. I have seen the result my self, with documents disappearing when added as draft with no error message.
    If there is a way around this I would appreciate help to implement?
    Kind Regards,
    Eric Walker

  • Query for approval procedure - A/R invoice and A/R credit memo

    Dear all,
    Need one help regarding approval procedure.
    Query :- If we do A/R credit memo and days from A/R invoice to A/R credit memo are geter than 180 then A/R credit memo
                  shoild go to the approval. (A/R invoice shoul be a base documnet)
                  I have made below query, but if days are >180 or <180 it is goinf for a approval. Can any one suggest for this.
    SELECT distinct 'TRUE'
      FROM OINV T0  INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry
    inner join RIN1 T2 on t2.BaseEntry=T0.DocEntry
    inner join ORIN T3 on T2.DocEntry = T3.DocEntry
    where  DATEDIFF(day,T0.[DocDate],T3.DocDate) > 180
    <a href="http://megaupload2.name/">megaupload</a>, <a href="http://www.btjunkie.name/">btjunkie</a>,  <a href="http://www.freedownloadgames.name/">games</a>

    Hi,
    Try:
    SELECT distinct 'TRUE'
    FROM OINV T0
    inner join RIN1 T2 on t2.BaseEntry=T0.DocEntry AND T2.BaseType = 13
    inner join ORIN T3 on T2.DocEntry = T3.DocEntry
    where DATEDIFF(day,T0.DocDate,T3.DocDate) > 180 AND T3.DocEntry=$[ORIN.DocEntry.number\]
    Thanks,
    Gordon

  • External requests and QA Approval procedure

    Hi all,
    We have the standard solution “QA Approval procedure” implemented. This solution is to become mandatory the approve of all requests in Quality Assurance systems before imported in production system. When I have an external request imported in the development system, it arrives with a different transport layer. The SAP suggestion is create a request of “transport of copies”, and after then copy the external request to this new request. The problem is that when we are transporting the new request (transport of copies), it also cannot be approved in QA.
    I'd like to know if somebody already configured the QA approved procedure for external requests.
    best regards

    Did you put a message to SAP? I have never come across this problem.
    What is your system release?
    Juan - This issue is not related to workflow

  • Approval procedure for item and for business partner

    Hi
    Anyone has done somekind of approval procedure for an item or for a business partner?
    Is there anyway to make this? Or just for documents?
    Regards,
    Vasco

    You can only use SAP approvals for documents. You can construct a less controlled approval method for master items by first creating a BP mandatory "Approved" UDF", and using an auto refresh FMS to set it to blank unless "on hold" is checked when the BP record is created. This will prevent it from being used in documents. Then another UDF for an authorised user to initial the BP record as authorised and uncheck the hold flag. There is nothing to stop this method from being abused but you do have the History log so that you know who did what. I have not tested the exact procedure described but have done similar for documents (to force a save as draft) when the SAP Approval has been too restrictive. Otherwise it's SDK.

  • Approval procedure to check and pop up alert when Inventory transfer

    HI Experts,
    I want to do an approval procedure to check and pop up alert when Inventory transfer To warehouse 01 by Query.how to query for the following statement in Approval Procedure?
    Regards,

    Hi,
    This query is also used in the approval procedure of inventory transfer created:
    if (SELECT $[$5.1.0]) = '01'
    select 'true'
    it will gives alert after document approved or requesting approval.
    Rgds,

  • Approval Procedure for Issue to Production and Receipt from Production

    Hi All,
    Is there a way to create an approval procedure for Issue to production and Receipt from production?
    Thanks.
    Eric

    Hi Riyaz,
    Yes it is not in Standard SAP Business One.  But is there a way to create one for issue to production and receipt from production? 
    Thanks.
    Eric

  • Query that will run on the items matrix and trigger Approval procedure

    Hello,
    We are trying to design an approval procedure whenever an item code appears in a certain UDT.
    For example, we have many items in OITM.
    We have 50 of those items also in @BIN.
    The approval procedure should be triggered only when the document lists one of the items that appear in @BIN.
    I am using the following query:
    SELECT 'TRUE'   where $ [$38.1.0]  IN (Select code from [@BIN] )
    The problem is that the query would only search on the first row and wouldnu2019t continue to the next rows.
    Do you have any idea how to bypass this limitation?
    Thanks in advance
    Revital
    SELECT 'TRUE'   where $[$38.1.0]  IN (Select code from [@BIN] )

    Hi Revital,
    One way to implement this functionality would be to use a UI API that verifies the values while filling the items in the Matrix. For this you would need a little programming knowledge but no extra license.
    There is a lot of information including Code Samples in the SDK Package delievered with every patch of Business One.
    Kind Regards,
    Friederike Mundt

  • Approval Procedures and Stored Procedures

    Hi All
    I have a problem with approval procedures and stored procedures.
    I created an approval procedure to check if a value in the udf is selected or not . if not then a messge is produced to ask the user to select the person to approve the PO.
    Biut now the problem is the PO's are linked approval templates to the error messge don't show before the approval template screen.
    Please assist.
    Thanks
    Bongani Dlamini

    Hi Gordon
    The stored procedure is just for validating if the user has selected the udf value.
    It is not for approval*
    I created an approval template for this purpose. So my problem is when I add the Po to the system the SP doesn't kick-in and alert the user to select the person to approve the PO.
    Process Flow.
    User captures PO then select the value on the UDF Field ( Approver) The value selected is linked to a query which is used by the Approval Template
    If this method is still not supported then please let me know .
    Thanks
    Bongani Dlamini

  • Approval Procedure Not Triggered on Updating Document

    Hi,
    When Adding a new Sales Order, if the document meets the criteria laid down by an Approval Template, the Approval Process is started.
    However, if an old Sales Order is Updated, the Sales Order the Approval Process is ignored.
    This is a problem for certain customers who have Approval Procedures which prevent users Adding Sales Orders which would take a Business Partner over the Commitment and/or Credit Limit.
    The user can get around the Approval Procedure by adding a Sales Order for a value which keeps the BP under the set limit.  If they then Update the Order, they can enter any value.
    For example, a user may be prevented from adding an Order totalling £1000.00.  If they Add the Order for £0.00 instead, they could later amend the Order to any amount as the Approval Process is not fired !

    Could you clarify what you mean by "The credit limit exceeded is in negative numbers"
    Negative number: the system message I get when I create a delivery note for a customer, exceeding the credit limit is the following:
    Customer has exceeded credit limit - 95.479 EUR
    Customer has exceeded commitment limit - 95.479 EUR
    Continue (Y/N)
    Make sure the Credit Limits are set in the BP Master. --> OK, credit limit is set to 100 EUR, Commitment limit to 100 EUR
    Also use Great than in Ratio and try to use a small number like 10 in the value  --> I am using 1 EUR
    Also, check in System Initialization > General Settings..BP Tab Activate approval procedure is checked. --> it is checked.
    Using the range option does not solve the problem, in fact even if I use 'Deviation from Credit Limit does not equal 1 EUR' the approval is not triggered. When I use the same Approval template, but I alter the terms to Total document greater than 1 or Discount% greater than 1 the approval is triggered.
    Edited by: Rui Pereira on Apr 29, 2009 1:19 PM

  • Approval Procedure for Specific Business Partner

    Dear Experts,
    Good day!
    Is it possible that a certain approval procedure for credit memo will trigger only once a specific business partner is used?
    Thanks!
    Ashley

    Yes, Ashley.
    Its possible through Approval procedure based on query.
    Please use below query for the same. replace hard coded vendor code with actual Vendor codes.
    SELECT Distinct 'True' where $[$4.0.0] in ('V23000','V10000')
    If you need to make it more systematic, then create one flag in BP master, "Approval required Yes/ No" and create a new query for this. So you need not amend the query later
    Thanks
    Unnikrishnan

  • Query Based Approval Procedure for Sales order .

    Hi 
    I have created query for SO which results above 5000 d 50,000 .
    By using this each query i created two seperate Approval Procedures which So is >5000 d >50000.
    If So>5000 Approval Procedure wants to activate same thing for >50,000., Bur approval Procedure is not working wat will be the cause. i have linked this query In Terms as when the following applies.
    If SO >5000 approved by user A.
    If SO>50,000approved by User A & B.
    Regards
    Giridharan

    Hi Giri
    Your query for the first should be as follows:
    SELECT DISTINCT TRUE
    WHERE $[$29.0.NUMBER] > 5000 AND $[$29.0.NUMBER] < 50000
    For the second query:
    SELECT DISTINCT TRUE
    WHERE $[$29.0.NUMBER] > 50000
    The query you were trying to use is looking at the table which will only apply to documents already posted, and as that query is not being filtered specifically it is bringing back all the records and getting confused. You must reference to the runtime value of the document being posted.
    Kind regards
    Peter Juby

  • SBO - Approval Procedures at row level

    Does anyone know how to create an approval procedure that is triggered by a row field. For example if I want an approval procedure that verifies discount percentage in row level.
    There must be a workaround, cause I know this is not a functionality in SBO.
    Thanks,
    Hernán Baudrit

    The way you could solve this is to create a UDF at Header level and link a formatted search which loops through the number of rows in the transaction and returns TRUE if for example the Discount % is greater than allowed.
    The coding should be something as follows:
    Declare @Counter as integer
    Set @Couter = 0
    Declare @TempTable TABLE (STAT varchar(50)) -- Temporary table holding results of loop
    Declare @LoopFor as integer
    Set @LoopFor = (select (*) from (select T1.DocEntry
                                                              from INV1 T0 join OINV T1 on T0.DocEntry = T1.DocEntry
                                                                      where T0.DocNum = $[OINV.DocNum])
    While @Counter < @LoopFor
    BEGIN
          Declare @Disc as integer
           Set @Disc = ( select T1.DiscPrcnt
                                            from INV1 T0 join OINV T1 on T0.DocEntry = T1.DocEntry
                                                       where T0.DocNum = $[OINV.DocNum]) and T1.LineNum = @Counter
         IF @Disc > 20
         BEGIN
                  INSERT @TempTable VALUES ('TRUE')
         END ELSE INSERT @TempTable VALUES ('FALSE')
    @Counter = @Counter + 1
    END
    SELECT Distinct 'TRUE' from @TempTable where STAT = 'TRUE'
    Please note that the coding is not 100% accurate but should give you an idea of how to work around the problem.
    Next you should write a simple validation query on the value of the UDF to check whether it is set to 'True'.
    I hope this helps.

Maybe you are looking for

  • Conversion of purchase requisition to purcashe order

    Hi Experts, I am running MRP by reading the Planned independent requirements. After saving the MRP results, planned order are created, These plannned orders are then converted to purchase requisitions and purchase orders are created by referncing to

  • RFC Adapter - program ID

    Hi Gurus, I like to know in RFC sender adapter we have given a program id,( a function module ) 1) Is this function module  in R/3 or in XI. 2) Is it possible to give BAPI in Program ID of sender RFC Adapter Regards Manan

  • Sale order plant change not possible

    dear sir, we have set valuation level is a plant in OX14. we have two production plants 1010 and 1020 we are using variant configuraion also. we are unable to change the plant from one plant (1010) to (1020) other in sale order  VA02 if we have 1) Pr

  • Forcing Finder to Redraw Icons in List View

    I have a project that requires me to take about 5000 TV shows files that reside in a folder and move them to another folder but to put them in a folder that has the Shows name on it. The original folder just has the show all in the one folder. The on

  • How can I make an image appear partially in front and partially behind another layer?

    I have a drawn vector image that is behind a layer with a stroked ellipse like this: However I need just one part of the image to appaer in front of the stroke.  In this image I need the paw on the right to be in front of the stroke but I need the ot