Function Activity based on PL/SQL procedure

Hi All
I have a function activity in a workflow, which is based on a PL/SQL procedure. When I make any changes to the package or the stored procedure, workflow gives "Could not find package or program unit" error, even though the status of the package is valid in database.
Essentially everytime I re-apply the package, I get this error. I then drop the package and then recreate it. Even then the error is not resolved immediately. Does this requires Apache bounce? Is there any other step that I am missing when we make changes to database packages that are based on workflow activities?
It would be of great help if someone can throw light on the above.
Many thanks in advance
cheers
Murari

Hi,
Have you tried searching this forum for the error message? There are plenty of posts about it here, on the WorkflowFAQ forum, and also in my blog about the issue, why it happens, and how you can avoid it.
HTH,
Matt
WorkflowFAQ.com - the ONLY independent resource for Oracle Workflow development
Alpha review chapters from my book "Developing With Oracle Workflow" are available via my website http://www.workflowfaq.com
Have you read the blog at http://thoughts.workflowfaq.com ?
WorkflowFAQ support forum: http://forum.workflowfaq.com

Similar Messages

  • Module component based on pl/sql procedure....

    Hi everyone,
    could anybody help me with step by step instructions on how to generate module component which is based on PL/SQL procedure and how the procedure must look like.
    Well, I make it in Forms Builder but I want to build it in oracle designer too, just to have consistent state of all forms in designer.
    Well, what to say at the end... thanks a lot for help,
    Zlatko

    I'm a user of the Web PL/SQL generator, not the Forms generator, so I was hoping that someone else would step in with some help for you. Seeing as no-one else gave this a try, here is my two cents worth:
    As far as I know, the module components based on a procedure expect to use the Table API (TAPI) packages, and I think they can optionally use the Module API (MAPI) packages. I think MAPI calls TAPI, so if you use MAPI, you must also generate TAPI. These are generated from the Design Editor, TAPI from the Table Definition. The Web PL/SQL generator REQUIRES the TAPI, so I'm very familiar with them. The on-line help has some good descriptions of TAPI.
    The advantage of using TAPI/MAPI instead of direct table updates from your Form is that TAPIs can enforce business rules at the database level, no matter how your table is updated, whether with Forms, Web PL/SQL or even SQL*Plus. They can also do trigger-like actions that would not be possible with actual database triggers (can you say, mutating table?) You might also want to use TAPI if you have both Forms modules and Web PL/SQL modules against the same table.
    Now - if someone with more Forms generator experience than I wants to chime in with a better answer, please do, especially if anything I said is wrong.

  • Block based on PL/SQL Procedure

    Hello,
    I have been thinking about building an architecture with
    database views to support block querying and stored procedures
    for DML. By doing this I keep the forms entirely seperated from
    the table model, which is good maintenance. Changes to the data
    model will affect the views and the stored procedures, not so
    much the forms. Another advantage is that block-fields that come
    from lookup-tables will be queryable and updateable without too
    much programming. And of course perfomance is good since all SQL
    is server-processed.
    Does anyone know where to look for documenation on basing a
    block on stored procedures ? The online help does not contain
    too much on this.
    Has anyone used this technique successfully and can tell me
    about a few advantages of it ? Disadvantages ?
    Regards
    /Stefan Nilsson, Sigma
    null

    Yes, I've tried that since Forms 5.0. I remember 3 possible
    sources for the block, FROM CLAUSE SUBQUERY, TRANSACTIONAL
    TRIGGERS , and PROCEDURES.
    Advantages,
    It is now easier to design screen with any functionality, like
    blocks where you are going to manipulate columns from different
    tables. Exactly what you have in mind when you mentioned about
    views.
    It also supports sources other than relational tables .like
    the object tables or even non-Oracle data sources.
    All you have to code are procedures to support the SELECT,
    LOCK, INSERT, DELETE, and UPDATE functions.
    Disadvantages,
    You have to code advanced PL/SQL procedures. Price to pay for
    excellent functionality.
    I can't exactly remember the documentation, but there is a
    book titlted Advanced Developers or domething...
    Stefan Nilsson (guest) wrote:
    : Hello,
    : I have been thinking about building an architecture with
    : database views to support block querying and stored procedures
    : for DML. By doing this I keep the forms entirely seperated from
    : the table model, which is good maintenance. Changes to the data
    : model will affect the views and the stored procedures, not so
    : much the forms. Another advantage is that block-fields that
    come
    : from lookup-tables will be queryable and updateable without too
    : much programming. And of course perfomance is good since all
    SQL
    : is server-processed.
    : Does anyone know where to look for documenation on basing a
    : block on stored procedures ? The online help does not contain
    : too much on this.
    : Has anyone used this technique successfully and can tell me
    : about a few advantages of it ? Disadvantages ?
    : Regards
    : /Stefan Nilsson, Sigma
    null

  • Function called by what PL SQL procedure

    Hello.
    I want to see all the callers of a PL SQL function. I know it is called by some PL SQL procedures in a package. How do I see who calls the function?
    Thanks.

    i think you can try this : select * from
    user_dependencies where type = 'FUNCTION' actually, that what should what things are referenced by your function
    and you'd be better off with ALL_DEPENDENCIES, since references can cross schemas.
    select name, type from all_dependencies
    where referenced_owner= 'ME'
    and referenced_name= 'MY_FUNCTION'
    and referenced_type ='FUNCTION'
    this will show what other things are using your function. if it's used by a package, it will not show the exact procedure or function within that package.

  • ViewObject based on PL/SQL procedure

    Hi there,
    I'm using JDeveloper 11.1.1.6.0.
    I'm wondering if i can base my ViewObject on a PL/SQL procedures out parameter instead of a SQL query?
    It is also ok when the view object is not updateable.
    Is there a way to achieve this? perhaps directly over the ViewObject, or otherwise over an EntityObject?
    Thanks in advance.

    Hi,
    its quite a time ago but there are some information from Avrom
    http://www.avromroyfaderman.com/framework-for-database-api-based-adf-bc/
    The sourcecode was hosted on samplecode.oracle.com which seems not to be available....
    Nevertheless you might find some usefull information on an older version
    http://www.avromroyfaderman.com/framework-for-database-api-based-adf-bc/framework-for-package-api-based-adf-business-components/
    Andreas.

  • N level tree based on PL/SQL procedure

    Hi everyone,
    I want to display a tree of n levels of employees (n is not known in advance) :
    Root(Boss)
    | Employee1
    | Employee11
    ......... | Employee1NN...
    | Employee12
    | EmployeeN
    .....| EmployeeNN..
    The problem is that I don't have access to tables containing the employees. For each employee I get the "sub-employees" list by calling a PL/SQL stored procedure getEmployees(masterEmployeeName).
    So is there a way in ApEx to create a n level and sublevel tree, each level corresponding to a PL/SQL procedure ?
    Best regards,
    Othman.

    Hi Othman,
    I haven't tried this for a while, the last time I had to do anything like this was to construct a folder structure starting from a root folder.
    Assuming that you can retrieve ID's and employee names in your function, the principle would be something like:
    1 - Create two collections - one for the Tree (to hold ID, Name and Parent ID) and one to hold a list of Employee IDs
    2 - Into the Tree collection, create a new member and insert 0, Root, null (Where 0 is the ID for the top boss and Root is whatever name you need to give this), into c001, c002 and c003
    3 - Into the Employee collection, create a new member and insert 0 into column c001
    4 - Now create a loop to run while the Employee collection contains at least one member
    5 - In the loop:
    5 A) Get the value from c001 in the first member in the collection (this will be the "Parent ID")
    5 B) run your function to retrieve a list of employees relating to that Parent ID, if any
    5 C) Loop through the list and insert a member into the Tree collection: ID, Name, Parent ID and insert the employee's ID into the Employee collection
    5 D) Delete the first member from the Employee collection and resequence the collection (to give you a new member number 1)
    6 - Eventually, you will have no members left in the Employee Collection - your loop should terminate
    7 - You should now have a complete structure in the Tree collection which can be used on the page
    Regards
    Andy

  • Generating webform based on pl/sql procedures

    Who can tell me to solve the following problem with trigger-event 'QUERY_PROCEDURE':
    I want te generate een webform base on pl/sql-procedures in stead of tables or views. In my module only query is allowed.
    In order to implement the module I created a MAPI and a TAPI.
    When i run the form i notice that my enter-query argument doesn't has any effect. All the records are shown instead of one. The fill of the 'default_where' clause has has no effect.
    In formsbuilder i notice that only parameter 'bk_data' is given. The where_clause has been erased.
    How can i run the MAPI-procedure 'qry' including a 'where_clause' on runtime?

    Dear All,
    This thread helped me a lot since I was facing the same problem and had a doubt that QBE is not supported by stored procedures (MAPI) and this thread confirms it.
    BUT what about module components based on Queries (i.e. FROM clause) ?
    It says in the Designer Forms Generation training material that is also does not support QBE, BUT forms supports QBE for blocks based on Queries is support in the Forms Developer.
    When I added a WHERE restriction the designer generates this inside the FROM Clause property of the block rather than in the WHERE Clause property of the block, and so i receiver an error ORA-01008 not all variables bound.
    Can anybody tell me how can i force designer to generate the WHERE restriction in the WHERE Clause property of the block rather than the FROM Clause property of the block?

  • Reports based on PL/SQL Procedure/Function

    Hi all,
    After some serious Google and forum searches, it appears as if this is something that just isn't possible (or easy to do).
    I've been charged with creating an APEX application that displays reports. There are a series of Procedures that will be written to return a result set, updated to take into account some filters that a user would provide. The key here is that the report won't be displayed until AFTER a user inputs some filters on a form and hits a Submit button. The project requires this functionality - allowing the report to be displayed and THEN filtered using the APEX IR Control is not desired (not my decision).
    There doesn't seem to be an easy way to define a report in this manner. It appears that the query for a report query needs to be known ahead of time.
    So, with that setup - is there a way to define an APEX report based on the return result of a PL/SQL function? OR is there a way to define a report using a SQL Query that is built based on user inputs?
    Any help would be appreciated.
    - Pedro

    Hi,
    Check if this post help you.
    Dynamic html table
    And normal reports can be also created from select that function is returning.
    http://www.oracle.com/technology/products/database/application_express/howtos/dynamic_report.html
    Br, Jari
    Edit:
    Maybe useful
    http://www.apex-blog.com/oracle-apex/dynamic-report-regions-tutorial-32.html
    http://www.oracleapplicationexpress.com/2009/02/interactive-report-based-on-plsql.html
    Edited by: jarola on Sep 9, 2009 5:14 PM

  • How to generate a form based on PL/SQL-procedures instead of tables?

    Hi all,
    I'm trying to generate a form based on a package, which has procedures for insert/update/delete/select. In Forms, this is no problem. It is unclear to me how to do this in Oracle Designer (10g). Online Help of Designer doesn't clear things up a lot, it seems I have to generate a table API and a module component API. But when I do this, these are generated as file and no definitions are created in Designer. So what do I base my block on?
    Can somebody assist me in this?
    Kind regards,
    Ronald

    Hi:
    Thank you for reply to my question.
    I have tried your codes and apply them the following the form. However, I always got the following error:
    Error: (WWV-00000)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    My codes is:
    declare
    request_no number;
    blk varchar2(30) := 'DEFAULT';
    l_url varchar2(4000);
    begin
    request_no := p_session.get_value_as_NuMBER(
    p_block_name => blk,
    p_attribute_name => 'A_WORK_REQUEST_ID');
    l_url := 'portal30.wwa_app_module.link?p_arg_names=_moduleid&p_arg_values=11880470335&p_arg_names=_sessionid&p_arg_values=&p_arg_names=work_request_id&p_arg_values='||request_no;
    portal30.wwa_app_module.set_target(l_url,'call');
    end;
    then,
    I created another form which has two fields and the dattype of pk is varchar2 and change manually put the pk's p_arg_value into the url.
    e.g.
    l_url:='PORTAL30.wwa_app_module.link?p_arg_names=_moduleid&p_arg_values=9029417810&p_arg_names=WORK_AREA_CD&p_arg_values=APP';
    portal30.wwa_app_module.set_target(l_url,'call');
    However, I still get the error message as below:
    Error: (WWV-00000)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    Your help would be highly appreciated.
    Wei Ye

  • How to poll a PL/SQL procedure in BPEL?

    Hi,
    Normally in BPEL your start your process flows by receiving an event. You can only create a BPEL instance via a Receive or Pick activity. I have a couple of integrations where I have to continually call a PL/SQL procedure and then call another PL/SQL procedure with the output from the first procedure. This is done by invoking 2 partner links and a While activity. I got this working fine. The problem is how to create the instance. At the moment I start the flow by reading in a dummy file with a Receive event. This works for now but if the process has to be restarted it will not work since BPEL know that it has already read the file.
    I have tried to start the flow with a receive activity that calls a PL/SQL procedure but I get the error “Operation is not specified” (http://theheat.dk/bpelDb1.jpg). Normally you would use a Invoke activity when calling a PL/SQL procedure, but when I try that I get an error because I don’t have a receive activity first (http://theheat.dk/bpelDb2.jpg)
    So basically I need a way to have a receive activity call a PL/SQL procedure.
    I have the exact same problem when I need to continually call a Web Service and send the output to a PL/SQL procedure. Here I need an Invoke activity that calls the Web Service and an Invoke that calls the PL/SQL procedure but to get the flow initiated BPEL wants a receive activity.
    Regards Pete

    I found a simple solution that works but I would like to hear if anybody can see any problems with this approach:
    I create a dummy table with one row. I create a partner link that polls the dummy table every 5 minutes. The operation on the table is an update, but the Read value and Unread value are the same!
    Every 5 minutes BPEL kicks of a process that calls a PL/SQL procedure etc. There will always be a row in the dummy table and as long as my polling interval is longer than the processing time of the flow I will never have more than one process in-flight at a time. This should ensure that the solution is robust.
    Regards Pete
    Message was edited by:
    Peter Lorenzen
    Message was edited by:
    Peter Lorenzen

  • Problem calling PL/SQL procedures from Function Activity Issue

    Hi,
    I am working with Oracle Workflow and I have found some problems adding a function activity in the process diagram. This function only updates some registers on the data base, or at least it should do that.
    I have been looking through the items in this forum and I have found similar things but not the right one. Of course I am a learner in all this and maybe the answer in there.
    I will try to show you my problem:
    When the procedure is supposed to be called, it doesnt´t do that and instead I found the following error:
    Wf_Engine_Util.Function_Call(usuario.WF_FIN_TG.FINTG1, FLUJO1, 092S0087, 588782, RUN) ORA-01403: no data found
    I have tested all the queries from TOAD and SAL Server, and all of them return some results.
    I have tried to take out all the queries from the procedure as the following to try to avoid or change the error but it continues as "ORA-01403: no data found":
    PROCEDURE FINTG1(
    p_itemtype IN VARCHAR2,
    p_itemkey IN VARCHAR2,
    p_actid IN NUMBER,
    p_funcmode IN VARCHAR2,
    p_resultado IN OUT VARCHAR2
    ) IS
    flujo VARCHAR2(;
    p_resultado :=1;
    END FINTG1;
    It seems as the workflow engine try to search something before executing my procedure.
    Has anybody any idea about how to solve this problem? Thanks a lot.

    WF_ENGINE_UTIL.Function_Call is the lowest level procedure executed by the engine before it executes the procedure associated with the function activity. I am not sure if this procedure would throw ORA 1403 since this does not have a query or a collection.
    Please note that ORA 1403 could occur from a SQL query or a collection.
    Looking at your code, p_resultado :=1;
    The function activity should return a resultout that the workflow engine understands. The valid results from the function activities as per the workflow guide are,
    wf_engine.eng_completed - 'COMPLETE'; -- Normal completion
    wf_engine.eng_active - 'ACTIVE'; -- Activity running
    wf_engine.eng_waiting - 'WAITING'; -- Activity waiting to run
    wf_engine.eng_notified - 'NOTIFIED'; -- Notification open
    wf_engine.eng_suspended - 'SUSPEND'; -- Activity suspended
    wf_engine.eng_deferred - 'DEFERRED'; -- Activity deferred
    wf_engine.eng_error - 'ERROR'; -- Completed with error
    You would normally use COMPLETE or ERRORED within your activity. Please change your code to use a valid resultout and try again.
    Hope this helps.
    Thanks

  • Problem calling PL/SQL procedure from Workflow function activity.

    Hi,
    I am trying to call a PL/SQL procedure from within my workflow activity.
    While I am able to execute the procedure through SQLDeveloper, the workflow function does not seem to call it.
    It seems that custom PL/SQL procedures have to conform to certain standards to be called within workflow applications. I have written my procedure to conform to those standards (referred to the example workflows).
    Could someone please help me with it?
    Thanks and regards.

    Hi,
    When I've received enough alpha reviews of the first few chapters of my book, I'll make chapter five available, which deals with writing functions for Workflows.
    Matt
    Alpha review chapters from my book "Developing With Oracle Workflow" are available on my website:
    http://www.workflowfaq.com
    http://forum.workflowfaq.com

  • How to pass multiple parameters while calling a pl/sql procedure based serv

    Hi,
    I have a pl/sql procedure based service that needs to be invoked from the bpel console for testing purpose. This procedure accepts multiple input values which are of varchar2,boolean and datetime data types. How can I get the bpel console to throw a UI where I can enter these values --in other words where(which file and where) can I specify that these are the input parameters that need to be entered along with their types.
    Thanks for yr help!

    Change the payload of the request 'Process WSDL' message type. Change the element of the payload for the RequestMessage to be 'InputParameters' from the XSD generated by the DB Adapter wizard.
    Edit the payload (Element) - Choose 'Project Schema Files'. Select 'InputParameters' from the XSD.
    You can also change the ResponseMessage by doing the same thing, except that you select 'OutputParameters' from the XSD.

  • Dynamic sql and block based on a stored procedure

    Hi!
    I'm triying to generate a block based on a stored procedure. I want the stored procedure to execute a dynamic sql, but I'm having getting the error "PLS-00455 cursor 'AULOCASLATE' cannot be used in dynamic SQL OPEN statement".
    I have the following code:
    CREATE OR REPLACE package pkg_f0015 is
    type rClieInstSlate is record
    (clie_id CMS_CLIENTS.ID%type
    ,client_nm varchar2(1000)
    ,cs_no CMS_CLIENTS.CS_NO%type
    ,dob CMS_CLIENT_NAMES.BIRTH_DT%type);
    type tClieInstSlate is table of rClieInstSlate;
    type uClieInstSlate is ref cursor return rClieInstSlate;
    procedure prLocationSlateQry(
    auLocaSlate in out uClieInstSlate,                anCsNo in CMS_CLIENTS.CS_NO%type,
    avClieNm in varchar2,
    avSearchType in varchar2,
    avLotyCd in CMS_LOCATION_TYPES.CD%type);
    end pkg_f0015;
    CREATE OR REPLACE PACKAGE BODY pkg_cms_f0015 is
    procedure PRLocationSlateQry( auLocaSlate in out uClieInstSlate,
    anCsNo in CMS_CLIENTS.CS_NO%type,
    avClieNm in varchar2,
    avSearchType in varchar2,
    avLotyCd in CMS_LOCATION_TYPES.CD%type) IS
    vSelect varchar2(5000);
    vAddCond varchar2(1000);
    vSupLevel varchar2(50);
    begin
    vSelect := 'select clie.ID,'||
    ' CLIENT_NAME,'||
    ' clie.CS_NO,'||
    ' clna.BIRTH_DT dob'
    ' from CMS_CLIENT_NAMES clna,'||
    'CMS_CLIENTS clie'||
    ' where clna.CLIE_ID = clie.ID';
    if avSearchType= 'C' then
    vAddCond := ' and clie.CS_NO = nvl('||anCsNo||',clie.CS_NO)';
    vSelect := vSelect || vAddCond;
    open auLocaSlate for vSelect;
    end if;
    end PRLocationSlateQry;
    end;
    I wonder if what I want is possible

    OK,
    Now it works. Previously we had the parameter p_guid declared as RAW, which obviously is not any good. :)
    Radovan
    Edited by: biciste on Apr 28, 2009 4:57 PM

  • Include Button that executes PL/SQL procedure to SQL query based region

    I would like to add two columns to a SQL query region.
    These columns would not be sourced from the query, but rather would be used to execute a PL/SQL procedure.
    For example, I would like to have a manager approve or deny adding an additional employee to the department.
    There would be one button for APPROVE. And, one button for DENY.
    The PL/SQL procedure would execute to perform the required DML based upon the selected action (either APPROVE or DENY).
    A sample output would look like this:
    <APPROVE>, <DENY>, John Doe, Accountant
    <APPROVE>, <DENY>, Jane Doe, Accountant
    Is there any way to add a button to a SQL Query based report region where that button executes a stored proc? If so, what is the basic process for doing this?
    Thanks!
    -Reid

    Is there any way to add a button to a SQL Query based report region where that button executes a stored proc? If so, what is the basic process for doing this?Conditional page item? You can associate processes with buttons on a page

Maybe you are looking for

  • Error in creating an external table referring to a XML file

    I've got an XML file and I've tried to create an external table referring to it in this way: CREATE TABLE mytable     XML_DATA_COLUMN XMLType   ORGANIZATION EXTERNAL     TYPE ORACLE_LOADER DEFAULT DIRECTORY TEST_DIR     ACCESS PARAMETERS ( records de

  • Uer exist / enhancement point for J1IEX and MIRO

    Hi,       I want to know is there any user exit /enhancement pointt are available for J1IX and MIRO transaction,           how to find the user exist of a transation.   regards,    zafar

  • Putting space in the layout

    How to put space between 2 cellFormat ?? Also, how can we increase the width of the lines of the table(in my custom jsp page) in the property inspector where Region Style is "Table". Brgds, Jenny

  • Service Ticket : Create Follow-Up Transaction

    Hi everybody, I'm facing a problem in creating a follow up transaction in Interaction Center Web UI. I'm working with Service Tickets, I made the customizing for the copy control to Service Order, and I'm able to create follow-up transaction from SAP

  • Who has to solve?

    load balancing in two rac issue............who need to solve is it dba or architect level? who has decide sga_target= is it archtiect or dba