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

Similar Messages

  • 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

  • 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

  • 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

  • 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.

  • Wrong stage in Approval Procedure

    Hi All.
    Recently, we've upgrade our SBO (2007A) to SP01, PL08 and then we noticed a strage problem regarding Approval Procedures.
    Our Approval Procedure Template (for POs) has 2 stages as below:
    First stage - st1
    Defined Approvals - 2
    Required - 1
    Second stage - st2
    Defined Approvals - 5
    Required - 2
    Scenario
    1.Document Add, the Approval Procedure takes into action and goes to st1. OWDD: CurrStep = st1, MaxReqr = 1.
    2.One of the approvals in st1 approves and document goes to st2. OWDD: CurrStep = st2, MaxReqr = 2.
    3.One of the approvals in st2 approves. OWDD: CurrStep = st2, MaxReqr = 2.
    and here comes the surprise:
    When another user of st2 approvals approves the document, the document does not become Approved, but is still suspended. When checking OWDD, I see that CurrStep = st1, MaxReqr = 2 !!!
    SBO had "jumped" the process back to st1, but now it requires (somehow) 2 approvals.
    Did anybody see such a behaviour? Do you know any solution?
    10x in advance,
    Beni.

    hi,
    try to do this as your work around,
    1. try to edit your Approval template and updated it
    2. try to make a new Approval template identical (2 approval templates that does not behave the way u want)
    in this case u cant test your old approval template and new approval template.
    best regards.
    FIdel

  • Approval procedure based on item category

    Dear All,
    I have a scenario where all my sales items will be categorized under two broad heads: Bulk & Non Bulk. So there will be a UDF where every item will be mapped to one of these values. I want to apply an approval procedure where I am able to raise an approval to different set of people for Bulk Items and different set of people in case of Non Bulk items. Kindly help me how I can do the same.
    Regards
    Kapil Kapoor

    Hi,
    It's not possible to create approval procedure based on item level. So if in a single document you have different types of (bulk/non-bulk) items you can't trigger different approval procedures.
    In case you select the item type in a UDF in header level of a document, then it will be possible to send approval to different users based on the UDF value selected bulk/non-bulk.
    Regards
    Sibasish S.

Maybe you are looking for

  • Error while creating a Quotation in dp81 with simulation

    hi Guys, My client has a simulation for an operative project. First a quotation was created through sales pricing in dp81. its rejected. now he wants to create another quotation with simulation. when the inputs are given its gives error as " The refe

  • How to add image in virtual dir / i/ 11g when using the embedded gateway

    Hi, Does somebody knows how to 'simple' import a file or directory into the /images/ or /i/ directory created by APEX without tricks like in How I added a  new image to APEX in 11g when using the embedded gateway. when using Database 11g with the emb

  • My external hard drive seems to have a problem ?

    movies played from my my external hard drive lag or either very slow, almost anything i open from my external lags, what does this mean ???but if i transfer them to my laptop and open them they work perfectly ! i tried to repair it but this happened

  • Problem in s60 5th nokia 5800

    i recently updated my old nokia 5800 to version 60.all was good but every time i play video on it lags a lot for 2min i request u to see the prob. Regards simrat

  • Authorization group restriction

    Hi , I would like to know how to restrict authorization group FCAR and FCAP.We could see it is related to F_BKPF_BES object .It seems the same authorization object should be given the following access --display access for documents asigned to authori