BLANKET RELEASE가 INPROCESS 상태에서 더 이상 진행되지 않을 경우 해결 방법

제품: MFG_PO
작성날짜 : 2006-05-11
BLANKET RELEASE가 INPROCESS 상태에서 더 이상 진행되지 않을 경우 해결법
======================================================================
PURPOSE
승인을 위해 Blanket Release가 submit 되었으나,어떤 이유로 인해
'INPROCESS' 상태로 되는 경우가 있다.
'INPROCESS' 상태가 된 그 원인 진단을 위란 workflow가 없는경우(workflow
purge process에 의해 purge 되는 경우 등...) 아래의 방법으로 해결한다.
Explanation
Original workflow activities가 더 이상 존재하지 않아서,
workflow activity를 종결하거나 document 진행을 시도하면 workflow는 fail
되며 document는 'INPROCESS' 상태로 fail 된다.
이를 해결하기 위한 solution을 아래의 steps에 따라 작업한다.
1.아래 sql을 실행하여 Requires Reapproval로 release를 update 한다.
Update가 성공적으로 끝나면 commit을 한다.
Script 실행시 Org_id가 prompt 되므로 document가 존재하는 org id를 입력
한다.
-- START OF RESET SCRIPT
set serveroutput on size 100000
DECLARE
CURSOR reltoreset is
SELECT por.wf_item_type, por.wf_item_key, por.po_release_id, por.release_num,
por.release_type, por.revision_num, poh.segment1
FROM po_headers_all poh, po_releases_all por
WHERE poh.segment1 = ' &PO_NUMBER
and por.release_num = to_number('&REL_NUM')
and por.org_id = to_number('&org_id')
and por.org_id = poh.org_id
and por.po_header_id = poh.po_header_id
and por.authorization_status IN ('IN PROCESS', 'PRE-APPROVED')
and NVL(por.cancel_flag, 'N') = 'N'
and NVL(por.closed_code, 'OPEN') != 'FINALLY_CLOSED';
CURSOR errwf(pitem varchar2, pkey varchar2) is
SELECT ITEM_TYPE, ITEM_KEY
FROM wf_items
WHERE PARENT_ITEM_TYPE = pitem
AND PARENT_ITEM_KEY = pkey
AND END_DATE is NOT NULL;
CURSOR maxseq(id number, subtype po_action_history.object_sub_type_code%type) is
SELECT nvl(max(sequence_num), 0)
FROM po_action_history
WHERE object_type_code = 'RELEASE'
AND object_sub_type_code = subtype
AND object_id = id
AND action_code is NULL;
CURSOR poaction(id number, subtype po_action_history.object_sub_type_code%type) is
SELECT nvl(max(sequence_num), 0)
FROM po_action_history
WHERE object_type_code = 'RELEASE'
AND object_sub_type_code = subtype
AND object_id = id
AND action_code = 'SUBMIT';
submitseq po_action_history.sequence_num%type;
nullseq po_action_history.sequence_num%type;
BEGIN
dbms_output.put_line('------------------------------------');
dbms_output.put_line('Data Manipulation Scripts Disclaimer');
dbms_output.put_line('------------------------------------');
dbms_output.put_line('As always please ask customer to run the scripts on their test instance
first ');
dbms_output.put_line('before applying it on production. Make sure the data is validated for ');
dbms_output.put_line('correctness and related functionality is verified after the script has been
dbms_output.put_line('run on a test instance. Customer is responsible to authenticate and verify ');
dbms_output.put_line('correctness of data manipulation scripts.');
FOR pos in reltoreset LOOP
dbms_output.put_line('Processing '||pos.release_type
||' Release Number: '
||pos.segment1||'-'||to_char(pos.release_num));
dbms_output.put_line('......................................');
dbms_output.put_line('Closing Notifications...');
BEGIN
UPDATE wf_notifications set status = 'CANCELED'
WHERE notification_id in (
select ias.notification_id
from wf_item_activity_statuses ias,
wf_notifications ntf
where ias.item_type = pos.wf_item_type
and ias.item_key = pos.wf_item_key
and ntf.notification_id = ias.notification_id)
AND NVL(status, 'OPEN') = 'OPEN';
EXCEPTION
WHEN OTHERS THEN
null;
END;
dbms_output.put_line('Aborting Workflow...');
BEGIN
WF_Engine.AbortProcess(pos.wf_item_type, pos.wf_item_key);
EXCEPTION
WHEN OTHERS THEN
null;
END;
FOR wf in errwf(pos.wf_item_type, pos.wf_item_key) LOOP
BEGIN
dbms_output.put_line('Closing Error Notifications ...');
UPDATE wf_notifications set status = 'CANCELED'
WHERE notification_id in (
select ias.notification_id
from wf_item_activity_statuses ias,
wf_notifications ntf
where ias.item_type = wf.ITEM_TYPE
and ias.item_key = wf.ITEM_KEY
and ntf.notification_id = ias.notification_id)
AND NVL(status, 'OPEN') = 'OPEN';
dbms_output.put_line('Aborting Error Workflow...');
UPDATE WF_ITEMS SET
END_DATE = sysdate
WHERE ITEM_TYPE = wf.item_type
AND ITEM_KEY = wf.item_key;
EXCEPTION
WHEN OTHERS THEN
null;
END;
END LOOP;
dbms_output.put_line('Updating Release Status...');
UPDATE po_releases_all
set authorization_status = decode(pos.revision_num, 0, 'INCOMPLETE',
'REQUIRES REAPPROVAL'),
approved_flag = decode(pos.revision_num, 0, 'N', 'R'),
wf_item_type = NULL,
wf_item_key = NULL
where po_release_id = pos.po_release_id;
OPEN maxseq(pos.po_release_id, pos.release_type);
FETCH maxseq into nullseq;
CLOSE maxseq;
OPEN poaction(pos.po_release_id, pos.release_type);
FETCH poaction into submitseq;
CLOSE poaction;
IF nullseq > submitseq THEN
dbms_output.put_line('Deleting PO Action History...');
DELETE FROM po_action_history
WHERE object_id = pos.po_release_id
AND object_type_code = 'RELEASE'
AND object_sub_type_code = pos.release_type
AND sequence_num >= submitseq;
END IF;
dbms_output.put_line('Done Processing.');
dbms_output.put_line('................');
dbms_output.put_line('Please issue commit, if no errors found.');
END LOOP;
END;
-- END OF RESET SCRIPT
2.Script가 error 없이 끝나면 'Commit;'을 실행한다.
3.Enter Release form에서 문제의 document를 조회하고, 승인을 위해 submit
한다.
Reference Documents
Note 296458.1

Similar Messages

  • Open Interface or Public/Private API for Blanket Release

    Hi All,
    I am on Oracle Apps 11.5.10.2
    Is there any open interface available to import the blanket releases in Oracle system. I have searched the meta link and found the doc 160781.1. According to the document there has been a future enhancement request logged by Oracle for this functionality but I am interest if any one know about some private API available to do same job. I will also appreciate if someone can share his project experience in migrating the blanket release to the Oracle.
    Thanks
    Vishalaksha

    I do not think it is available in 11i -- Please see (HOW TO IMPORT BLANKET SALES AGREEMENT AND BLANKET RELEASE. (Doc ID 336086.1)) for details.
    You may log a SR and confirm this with Oracle support.
    Thanks,
    Hussein

  • How to create a Blanket Release in iProc from a approved requistion

    Hi Gurus,
    How to create a blanket Release in iProcurement from a approved requisition. I have followed the below steps.
    1. Created a BPA from Front end.
    2. Run Loader Data program.
    3. Above program reflected the BPA in iProc.
    4. Created requisition from BPA.
    5. Requisition has been approved.
    After this i am stuck. How to proceed ahead. I want to create a Blanket Release from approved PR and then receive in iProcurement.
    please help me on this. We are using 11.5.10.2
    Regards,
    john

    911765 wrote:
    Hi Mahendra,
    Thank you so much for your reply.
    So you mean to say that it all depends upon the Sourcing Rule and ASL based upon that system would automatically create a Blanket Release or If its Automatic Release/Review then we have to manually create release through autocreate.
    The reason why i am asking this query is now when i tested it, system is automatically creating release and starngely there is no Sourcing Rule and ASL has been defined.
    But we are looking for a Manual Release through autocreate window.
    It would be great if you could please suggest.
    Regards,
    JohnJohn,
    When you say system is automatically creating release..as far as i know...it should be referencing a PO..correct...in the releases window..
    can you pull that up..and see if you can get any clue..bcz that PO would BPA...
    Also I am not that much into Iproc...I don't know...whether Iproc has some other setups
    HTH
    Mahendra

  • Is there a way to restrict the blanket release qty or amount to agreed amt

    Hi,
    We have a requirement to restrict the blanket release qty or amt of the item to the amount that is agreed on the blanket Purchase Order line. Is there a setup at supplier or in purchasing that dictates this
    Thanks,
    user12048986

    Hello,
    I've made a few "forms perso" and I think you can deal with this case, depending of course of the business rules you want to apply.
    If you want to apply the field "COMMITTED_AMOUNT" as a global limit for all your release you can test the following :
    All your code will be done in "Not in Enter-Query Mode"
    1/ Create some variables on the WHEN-NEW-FORM-INSTANCE event : this committed amount, and also the amount already consumed,
    2/ Initialize the variables on the WHEN-NEW-ITEM-INSTANCE event, on the PO_SHIPMENTS.SOURCE_LINE_NUM object,
    condition will be :PO_RELEASES.PO_Release_Id IS NOT NULL
    3/ On the WHEN-VALIDATE-RECORD event of the PO_SHIPMENTS object, you will update your variables depending of the item on the current line by some SQL statement, using the variable.VALUE = (your SQL),
    condition will be :PO_RELEASES.PO_Release_Id IS NOT NULL AND :SYSTEM.RECORD_STATUS IN ('CHANGED', 'INSERT', 'NEW')
    4/ Still on the WHEN-VALIDATE-RECORD event of the PO_SHIPMENTS object, you should in your condition compare the amount already ordered (including your current shipment line) to your limit, then in the action display a message to warn the user.
    On this step I use also a variable XX_NB_MSG_DISP because as the WHEN-VALIDATE-RECORD is trigerred several time during the validation, you will display the message several times :°/
    Then condition will looks like something like this :
    :PO_RELEASES.PO_Release_Id IS NOT NULL
    AND :SYSTEM.RECORD_STATUS IN ('CHANGED', 'INSERT', 'NEW')
    AND :GLOBAL.XX_NB_MSG_DISP = '0'
    AND ((:GLOBAL.XX_ORDERED_AMOUNT > :GLOBAL.COMMITTED_AMOUNT)
    At this point the message is only a warning, but it is already a little piece of code, tell me if you succeed in doing something with those explanations. Honestly I do not have time to do any tests about this...
    You can also use the PO_APPROVE event to do a global control, but this is less user-friendly.
    Hope it helps,
    Take care,
    Xavier

  • Default different blanket release buyer via PR interface

    Hi,
    My scenario:
    blanket agreement set buyer A, and all the sourcing funtion have been set (ASL, assignment set, sourcing rule..),
    I want to customize a program to insert PR interface, then create new blanket release automatically, but the new blanket release's buyer is B,
    how to do that? I suppose the PR interface column suggested_buyer_id could achieve this function, but it's not workable

    PR interface suggested_buyer_id column won't work.
    It just puts the buyer name on the requisition; not on the release.
    Sandeep Gandhi

  • Blanket Releases

    We have a case where the client has an annual maintenance contract with a vendor for procurement of service.Payment is made on a monthly basis. We can create a Blanket PO for this. But I would like to know the significance of blanket releases. When the vendor gives a bill, we can directly make an invoice, matching against the PO.Why do we need to carry out the blanket release at all? In fact, we can have a Standard PO, and prepare PO matching invoices every month, when a bill is raised;and that should take care of the requirement.
    Can anyone throw some light on this?
    Thanks a lot!!

    Blankets come in handy when the vendor does NOT know the service / delivery schedule in advance. So you negotiate a long term price with the vendor in advance. And then you create releases and send them to the vendor as and when you have firm requirements. The vendor delivers the goods/services according to the date /qty on the release.
    In your case, if delivery dates and qty is set in advance, you may not need a blanket. You can simply keep billing against one std. po.
    Hope this answers your question
    Sandeep Gandhi
    Independent Consultant
    513-325-9026

  • Unable to Cancel approved blanket release. system gettinghanged.

    Hi ,
    I have a blanket release and when I try to cancel the release wither at header or line or shipment level, it gets hanged...
    Any idea, why it is getting hanged and how to cancel this release ?
    Thanks
    Anil

    you can use V$LOCKED_OBJECT table to find out the locked objects and then kill that session using ALTER SYSTEM KILL SESSION '< sid>,<serial#>';
    you can get the serial# from V$SESSION corresponding to the session_id from V$LOCKED_OBJECT
    also you can use UTLLOCKT.SQL provided by oracle to get a report of locked objects.
    Thanks
    Tapash

  • Not getting Email notification upon blanket release was created

    Hi,
    We are on Oracle EBS 11.5.10 and we have blanket release created by importing PO requisition, and ASL Supplier-Item's Release Method is "Automatic Release". Once the blanket release is created, there is no email notification sent out based on Supplier notification method?
    Now the notification is working for items with release method set to "Release Using AutoCreate" and for regular POs. But we need the "Automatic Release" items to create notification to send to suppliers as well. Anyone has experience to get that to work?
    Thanks!
    Mike.

    All the regular communication methods (print, fax, email) are spawned from the Approval workflow process.
    If the requisition line is sourced to a local BPA and if the ASL release generation option is set to "Automatic Release" then the concurrent request to create the release. This concurrent request will always create the approved releases; the system does not even launch the approval process. So none of the communication methods are triggered. Usually this option is used with batch communication methods like EDI or daily scheduled printed reports (Printed PO Report with NEW documents option).
    If the ASL option is set to "Automatic Release/Review" option then the concurrent request "Create Releases" creates releases in incomplete status. The buyers can then review them and manually submit it for approval. As part of this approval, the communication options can be selected.
    if the ASL option is set to "Release using Autocreate" then the requisition should be either manually created into a release. Optionally if the "Create Documents" workflow is setup that workflow can also create the releases. In the "Create Documents" workflow there is an option to launch the Release approval process. The "Create Documents" workflow never sets the documents to approved status automatically. So the releases created using "Create Documents" workflow will go through Release approval workflow and can leverage the communication methods.
    If you "have to" use the "Automatic Release" then you might need to leverage the standard batch communication methods / provide your own batch communication methods. When the document is communicated (Printed PO Report or EDI and etc), system updates the print count (increment) and print_date (sysdate) in the po_headers / po_release table. Thus when it is scheduled in a batch, it can determine the NEW documents (no print count at-all) and CHANGED documents (print count is one more from archive, but the revision number is same as the one in archive). If you are providing your own communication method, you can also try using similar model.
    Regards, Shiva

  • How to re-submit a blanket release

    Hi All,
    The BPA header was in requires re-approval status and during that time frame some releases got created .
    Now we brought the Blanket po back into Approved status .Now wanted to know how to make the releases into APPROVED status from Incomplete status ...we have very huge blankets and release count in > 80 K so cannot open it manually .Is there a way to do this programatically ?
    --Chandra                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi Roger,
    Thank you for your reply. The podcast has been gone for over a week. I was able to resubmit it by slightly changing the title, but now the podcast id is different and it's basically like a new podcast. All the hard work that I have put in this podcast and over a hundred 5 star reviews are all gone.
    Contacted iTunes support, but takes too long for them to get back to me with the fix. They say they want me to have the most enjoyable experience with iTunes, but I'm just getting more frustrated.
    Best,
    Serge
    Message was edited by: podcasting

  • Blanket Release

    Good Day!
    We are importing Blanket Purchase Agreement via PDOI. We can successfully import it using 'Import Price Catalog'. However, when running 'Create Releases', it cannot match the BPA/BPO with a Purchase Requisition. Upon reading the requirements for running Create releases, it says that the BPO should be sourced to a requisition line. Is this something that should be done upon importing the Blanket Agreement? Any help would greatly be appreciated.
    Regards,
    Missy Go

    For create releases to run successfully, the Blanket PO should appear in the Source columns on the PR.
    It will appear there if you have a sourcing rule that ties the item/category to that supplier/supplier site
    AND
    if you have created an ASL for the item and supplier/supplier site AND you have listed the BPA in the ASL attributes.
    See http://docs.oracle.com/cd/A60725_05/html/comnls/us/po/poxvcvar.htm#c_ausrc for details
    Hope this helps,
    Sandeep Gandhi

  • How blanket agreement can issue standard PO rather than blanket release?

    What is the configuration for issuing standard PO against blanket agreement?
    Thanks!

    906801 wrote:
    What is the configuration for issuing standard PO against blanket agreement?
    Thanks!Yes you can do two ways to refer that..as marcin said via autocreate...and also create a standard PO..using the same supplier and the items...then automatically you can see the blanket agreement been refered..in the reference documents
    Note..your blanket agreement should be global..
    HTH
    Mahendra

  • Link India Localization with Blanket Purchase Agreements and Releases

    Could anyone highlight on how India Localization Taxes be linked with Blanket Purchase Agreements and Blanket Releases?
    Any additional Setups required?
    Shubhendu Chakraborty
    Kolkata.INDIA.

    Only Amount Agreed field on header level can control the checks on the blanket purchase order.

  • Blanket PO or Standard PO?

    We have a case where the client makes an annual contract with a supplier. The contract specifies that the cost of buying any brochure(inventory item) is X$.However, it does not have agreement price for the whole year. So, any number of brochures can be bought.There are 50 different kinds of brochures but all will have this rate. Now, when a particular type of brochure is to be purchased, a PO is prepared and sent to the vendor.Can this be handled in any way apart from a Standard PO?
    If there is an annual contract with a vendor wherein the agreement price is not fixed but the rate is, can we use a Blanket PO?
    If we do go for a Blanket Release in this case, how can we generate PO reports for such releases.I understand that blanket releases are equivalent to Standard POs, but the custom PO report is generated based on the po_headers_all and po_lines_all and not po_releases. Any suggestions?
    Edited by: user605024 on Oct 14, 2009 3:48 PM

    Hi,
    As you are saying that the rate is fixed but the agreement amount is not fixed.You have option to go with Blanket purchase agreement. In blanket purchase agreement you can change the Amount agreed at any point of time and even you can set an option of changing the item price if needed. so you can use this for your case.
    else
    if needed you can go with Contract purchase agreement. Even in this you can change the contract amount when ever you need and you can create standard po's for this contract agreement.
    Regards,
    veeraiah chowdary.Bodduluri.

  • To Close Shipment Lines across multiple releases

    Hi All,
    Is it possible to close the blanket release shipment record (po_line_locations_all.closed_code) across multiple blanket releases simultaneously?
    This is my case
    I have an PO - 1111
    There are multiple blanket releases for the same 1, 2, 3
    Each of them has many shipments and line numbers are common for few.
    For example
    Release 1 , has line no.4 ,5 ,6
    Release 2 has line no. 3,4,5,7,8
    Release 3 has line no 4,2,3,9
    My question is it possible to select Po as 1111 and line number as 4 to close and that will close line no. 4 in all the above releases? If yes, Please let me know how to do the same.
    Thanks
    Geetha

    Hi Geeta
    If you want to close line4 in your example,then you need to close the shipments for all the release for that line.
    Then you will be allowed to close teh line4
    Regards
    VKPK

  • Blanket purchase order and PR

    i) Purchase requistion is not taking distrubtions from the purchase order release . how can it be resolved.
    ii) for a blanket PO some inventory has been received at the store house, how can we know hom much the qty is recieved and ordered. is there any particular script.
    regards
    Arif

    Purchase requistion is not taking distrubtions from the purchase order release . how can it be resolved.PR will not take distribution from the Blanket Release. A release will take distributions from the PR.
    for a blanket PO some inventory has been received at the store house, how can we know hom much the qty is recieved and ordered. is there any particular script.
    >
    You will have to write a script. As Karthik suggested, you will have to join po_headers_all , po_releases_all and po_line_locations_all.
    Use the Blanket# to get po_header_id from po_headers_all.
    Use that and the release # to get the po_releasd_id from po_releases_all.
    Use the po_release_id to get quantity details from po_line_locations_all.
    Hope this answers your question
    Sandeep Gandhi
    Omkar Technologies Inc.
    Independent Techno-functional Consultant

Maybe you are looking for

  • New Content on my Tunes does no show up on Apple TV

    Apple TV 2.0 is great. I have it set so that everything on my macpro shows up on the Apple TV menus (streaming via 80211n). However, when I make a new purchase on itunes on my computer or rip a new CD, the new stuff does not show up in the Apple TV m

  • Report Using PL/SQL Region

    Hi, I have bit experiment create custom reports using PL/SQL region http://dbswh.webhop.net/apex/f?p=BLOG:READ:0::::ARTICLE:97800346956448 I would like have from you tips and ideas how enhance this. Because I'm not so good with SQL, I really apprecia

  • How to issue checks for payments done using f-53

    Hello , Iam unable to print a check created manually,can some one  please explain me how to  you print it....what i did was: i paid using f-53 and then  created check lots and in fbz5 i entered all the details required but still i get the error : LIN

  • Regarding layout in the alv grid report

    hi gurus, i  have created a ALV report in which the output is coming allrt having 13 fields.now i have saved my layout depending upon some columns in the output name "AVI layout" containg 3 fileds. when ever i execute the report the layout having 13

  • Want to block customer

    hi friends i want to block a particular customer when his cumulative order quantity reached to 100 i.e.  it may be inclusive of number of orders or single order or it may be single material or number of materials when he cross the 100 th quantity at