ORA-2001:The approver group Process MFG Approvals has dynamic query in wron

ERROR ORA-2001:The approver group Process MFG Approvals has dynamic query in
wrong format in 11i
We are setting up the Approver Group 'Process MFG
Approvals" using a dynamic query, like:
SELECT PAPF.EMPLOYEE_NUMBER
FROM PER_ALL_PEOPLE_F PAPF,
fnd_lookup_values FLV
WHERE FLV.MEANING=PAPF.EMPLOYEE_NUMBER
AND lookup_type='SUG_SAMPLE_NOTIFICATION'
AND SYSDATE BETWEEN papf.effective_start_date AND papf.effective_end_date
AND FLV.LOOKUP_CODE= (SELECT GME.PLANT_CODE FROM GME_BATCH_HEADER GME WHERE
GME.BATCH_ID=:transactionId)
- Above query is passing the validation action from within the setup screen.
- However, when this approver group is being invoked via Sample Creation
workflow, there is following error raised:
ORA-20001:The approver group Process MFG Approvals has dynamic query in
wrong format
More, if user is trying to use a more simple query like:
select distinct person_id from PER_ALL_PEOPLE_F where full_name = 'Mr.
Oliverking G' we are getting same error
Any idea, plse, would be gretaly apprciated.
txs
Peter

Hi,
You need to prefix the value with a text string which indicates what kind of value you are returning.
E.g. if you are returning a user ID, prefix the value with 'user_id:'; if you are returning a person ID, then prefix it with 'person_id:'
There is an article on my blog about creating a dynamic approval group in AME as part 5 in the series on AME: http://www.workflowfaq.com/ame-part-five-defining-a-dynamic-approval-group
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://www.workflowfaq.com/blog ?
WorkflowFAQ support forum: http://forum.workflowfaq.com

Similar Messages

  • ReAssiging the Approver  Group + BPEL 10.1.3.3

    Hi,
    Currently bpel(human task) instance is created with particular assigned group. Will it be possible to change the assigned group in later stage ? Please advice.
    e.g,
    Currently Loan application is assigned to groups A,B. Few loan applications are created and assigned to group 'A','B'. After few days user want to reassign to group 'D' instead of 'A','B'
    As per my understanding Reassign task enables the current assignee or group to transfer it to another user within same group or group within same hierarchy?
    Please correct me if I am wrong

    I guess you have to change the group details in users-properties.xml or from 'em'. Assign the permissions. This should help you with reassignment.

  • Getting "ORA-00979: not a GROUP BY expression" error in Inline query

    Hello all,
    The following query when run in SCOTT user gives "ORA-00979: not a GROUP BY expression" error.
    If I remove the TRUNC function from the outer query's group by clause, then it fetches
    (My actual query is something similar to the following query. I have given emp, dept tables for convenience's sake)
    select e.empno,e.ename, AVG(e.SAL), trunc(e.hiredate),
    (select sum(sal) from emp
    where hiredate = e.hiredate) salary
    from emp e
    group by e.DEPTNO,e.EMPNO,e.ENAME, trunc(e.hiredate)
    Pls suggest how this error can be avoided.
    Regards,
    Sam

    Why not this?
    satyaki>
    satyaki>select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for Linux: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    Elapsed: 00:00:00.02
    satyaki>
    satyaki>
    satyaki>select e.empno,
      2         e.ename,
      3         AVG(e.SAL),
      4         trunc(e.hiredate),
      5        (
      6           select sum(sal)
      7           from emp
      8           where hiredate = e.hiredate
      9        ) salary
    10  from emp e
    11  group by e.DEPTNO,
    12           e.EMPNO,
    13           e.ENAME,
    14           e.hiredate;
         EMPNO ENAME      AVG(E.SAL) TRUNC(E.H     SALARY
          7934 MILLER         1887.6 23-JAN-82     5583.6
          7698 Glen             1848 23-JAN-82     5583.6
          7788 SCOTT          598.95 19-APR-87     598.95
          7900 JAMES          1379.4 03-DEC-81    6650.16
          7521 WARD           226.88 22-FEB-81     226.88
          7599 BILLY            4500 10-JUN-09       4500
          2222 sp               1200 14-SEP-09       1200
          7902 FORD          5270.76 03-DEC-81    6650.16
          7566 Smith            1848 23-JAN-82     5583.6
          7654 MARTIN           1815 28-SEP-81       1815
          7839 KING             7260 17-NOV-81       7260
         EMPNO ENAME      AVG(E.SAL) TRUNC(E.H     SALARY
          7844 TURNER           2178 08-SEP-81       2178
          7876 ADAMS          159.72 23-MAY-87     159.72
    13 rows selected.
    Elapsed: 00:00:00.03
    satyaki>Regards.
    Satyaki De.

  • # of tab canvases dependant on the # of groups that come back from a query

    Hi,
         I'm trying to create a dynamic creation of blocks, and tab canvases dependant on the number of groups that come back from a query. If 4 groups come back then I desire 4 tabs with the appropriate data in each tab.

    Basically Forms is not intended to build screens programmatically but it is possible to kluj it. Here's what you could do.
    Create a form with (say) four tabbed canvases, enough to fill the display. Each canvas has its own block. Then you have video style buttons - Fwd, Bk, FFwd FBk - and just scroll the blocks across when the user clicks the button.
    Did you enjoy the use of the word "just"? Sounds easy, doesn't it? In practice, what you need is an array that ties the filter criteria to the canvas number. Then you shuffle the canvases by applying the appropriate WHERE clause using SET_BLOCK_PROPERTY and then executing a query.
    The problems with this are obvious and the same as any dynamically generated UI. It will perform badly (each navigation to a canvas will trigger a fresh query, plus there's the overhead of managing the stack). Also it is fragile: there's lots that can go wrong.
    So you need to ask yourself what it is you are hoping to achieve. Can you deliver the same business function some other way? As another poster has pointed out, this is just a glorified master-detail form - the filter criterion being the master. Building this as a classic two block master-detail Form is more straightforward and more robust.
    Regards, APC

  • Empty fields in the approval step - process an forms

    Hi experts
    Am developing process for add address infotype to employee , if i didn't use workflow its working fine, but if i use workflow , when i fill the form and send it , the next agent get empty data, i mean what i entered not appear to him
    even i try to run the workitem from design time , i get the same
    please any one have idea what is the problem
    Regards
    Ghadeer

    You can also check if the note 1882770 - Form fields not getting populated in FPM forms is implemented.

  • Error in the proc which has dynamic query in it.

    I have a proc as below
    create or replace procedure dynamic_Sql
    (id in number,
    obj_id in number,
    id2);
    is
    xxxx varchar2(30);
    sql_stmt1 VARCHAR2(10000);
    cusor c is select distinct dep from department where dept_id = 10;
    Beign
    select table_name into xxxx from tableq;
    for cur in c loop
    sql_stmt1:= 'insert into node(NODE_ID,pID,dep,tnode,PNODE)
    select id,pid2,cur.dep,null,null)
    from tablex h
    where h.hid = id2
    and h.dep = cur.dep)';
    end loop;
    execute immediate sql_stmt1;
    end;
    Here when i execute it is giving the error in 'id2' which is paased as the parameter in this proc and "cur.dep" which is comming from the cursor. It giving n error 'id2' and "cur.dep" is an invalid identifier
    Edited by: user10285699 on May 1, 2009 1:09 AM

    Your code is faulty.
    First of all you set up multiple statements in a cursor for loop, and you execute that statement outside the cursor for loop. So only 1 statement is executed.
    Secondly, you can't refer to pl/sql variables in a dynamic sql statement or you must use them as bind variables (preferred) or concatenate them.
    1 bind variables.
    sql_stmt1:= 'insert into node(NODE_ID,pID,dep,tnode,PNODE)
    select id,pid2,cur.dep,null,null)
    from tablex h
    where h.hid = :id2
    and h.dep = :dep';
    execute immediate sql_stmt1 using id2, cur.dep;
    end loop;
    2 concatenation.
    sql_stmt1:= 'insert into node(NODE_ID,pID,dep,tnode,PNODE)
    select id,pid2,cur.dep,null,null)
    from tablex h
    where h.hid = '||id2
    and h.dep = '||cur.dep||')';
    execute immediate sql_stmt1 using id2, cur.dep;
    end loop;
    Sybrand Bakker
    Senior Oracle DBA

  • Cup Approval process requires multiple hits of the APPROVE button

    Hello GRC CUP folks,
    We have an approval process wherein a given request can require 4 levels of approvals to be provisioned.  When a manager logs in to CUP, and tries to approve a request, she hits the APPROVE button, then the yellow status bar appears, showing the approval status so far for this request.  And she has to hit the APPROVE button again.  Then the yellow status for this current stage turns green and the workflow proceeds to the next stage.  It is getting back to me that the managers are having trouble understanding and remembering that they have to hit the APPROVE button more than once (even though we added text to that effect in the approval email).
    Is there some way to get the approval to process to the next stage with only one push of the APPROVE button?  
    Thanks for your ideas.
    Yvonne

    Hi Yvonne,
       Please go to config -> workflow -> stage -> go to change mode for Manager stage.
    Make sure that, 'Display Review Screen', 'Comments Mandatory' and 'Confirm Approval' are set to 'NO'. This will make sure that as soon as Manager hits Approve button, the request would be approved.
    Regards,
    Alpesh

  • GRC - SQL Query to retrive the Approver/Rejecter Names

    Hello,
    I was trying to write a sql query to retrive the name of the user who has approved or rejected a particular Approval Notification in GRC Flow rule.
    This query should retrive the user , who has taken the action. This user name will be added to the Role, which inturn will be attached to the Approval Group
    Thanks,
    Gowri

    Basically, We have GRC Flow rule, with a process flow written to send Notification
    Here we have added a Approver Group with approval type as Wait for Approval and Vote Percentage as 100
    Two users are added to the Role which inturn is added to the Approval Group. What is the SQL query to retrieve the Username who has Approval or Rejection for a notification?
    Can anyone please help
    Thanks,
    Gowri

  • Dynamic Approver Group

    Hi all,
    Is there a way to let the dynamic approver group to return more than one record?
    for one record we return the person_id in the format 'PERSON_ID:'||PERSON_ID
    Could we use 'PERSON_ID:'||PERSON_ID||',PERSON_ID:'||PERSON_ID for example to retrieve 2 person id's??
    The query of the approver group is calling a function that check the process name and return all the people associated with a position or a job, I need to build dynamic approver groups to send notifications to a group of people so that anyone in that group can approve it and hence it moves on to the next approver group's people
    any idea?!
    Edited by: HST on Sep 7, 2010 7:37 AM

    Thanks Vinayka for the reply.
    I have tried doing your advice, the query return more than one record (3 in my example) and the voting method is first responder wins.
    What happened when submitting the request is that the notification sent to the first person (the one returned in the first record) only and i have to wait for his approval or rejection
    if he approves or reject the cycle stopped.
    i need to send the notification to all employee that the query return and the approval from one of them is enough!
    any idea?
    Edited by: HST on Sep 14, 2010 12:00 AM

  • AME iExpenses: Cannot create new approver group

    We need to set up approver groups for iExpenses. I assigned myself Approvals Management Administrator and Aprovals Management Business Analyst roles. With these roles I can create new attributes and conditions. However, I cannot create new action types and approval groups. The create button for the approval group just does nothing.
    What am I missing? We are 11.5.10.2, AME.B

    Pl see if ML Doc 420387.1 (How to Create the Approval Transaction Type for AME.B or higher ?) can help
    HTH
    Srini

  • Need help in PO Approval Group Query

    Hi,
    I need a Query which will list of users that has the Approval Group “BUYER” and “BUYER_DEMO” assigned to them.
    It will be needful if anyone provides me the Query
    Thanks and Regards

    Hi
    Try this.
    SELECT PAPF.employee_number
    ,PAPF.full_name
    FROM po_control_groups_all PCGA
    ,po_position_controls_all PPCA
    ,per_all_assignments_f PAAF
    ,per_all_people_f PAPF
    WHERE PCGA.control_group_name IN ('BUYER','BUYER_DEMO')
    AND PCGA.control_group_id = PPCA.control_group_id
    AND PPCA.position_id = PAAF.position_id
    AND PAAF.person_id = PAPF.person_id
    Thanks and Regards,
    JD

  • GROUP BY with parameter - cause error -ORA-00979: not a GROUP BY expression

    I generate a query via PreparedStatement. For example:
    SELECT when, value FROM test GROUP BY ?;
    PrepState.toString(1, "when");
    That causing error: ORA-00979: not a GROUP BY expression
    My application using query like:
    SELECT to_char(data,1), SUM(vlue) as sum FROM test GROUP BY to_char(data, 2);
    PrepState.toString(1, "YYYY-MM");
    PrepState.toString(2, "YYYY-MM");

    Ah. Reproduced in the first chunk of PL/SQL below.
    The second chunk is a workaround.
    Basically, SQL is parsed by the syntax engine and optimizer to get an execution plan. Then you can have a sequence of "bind, execute, fetch, fetch, fetch..., bind, execute..."
    Since you can have multiple binds for a single SQL parse, then the fact that the first set of binds all happen to have the same value doesn't mean the next set will.
    The optimizer needs to be 100% sure that the value in the select must always be the same as the value in the group by, so you can't have two separate (and therefore potentially different) bind variable mappings. [Given the right circumstances, the optimizer might do all sorts of tricks, such as using materialized views and function-based indexes.]
    Misleadingly, it actually fails on the 'EXECUTE' step of DBMS_SQL rather than the PARSE.
    declare
      v_sql varchar2(1000) :=
        'select to_char(created,:b1), count(*) '||
        ' from user_objects u '||
        ' group by to_char(created,:b2) '||
        ' order by to_char(created,:b3)';
      v_fmt varchar2(10) := 'YYYY';
      v_cur number;
      v_ret_str varchar2(10);
      v_ret_num number;
      v_ret number;
    begin
      v_cur := dbms_sql.open_cursor;
      dbms_sql.parse(v_cur, v_sql, dbms_sql.native );
      dbms_sql.define_column_char (v_cur, 1, v_ret_str, 10);
      dbms_sql.define_column (v_cur, 2, v_ret_num);
      dbms_sql.bind_variable( v_cur, ':b1', v_fmt );
      dbms_sql.bind_variable( v_cur, ':b2', v_fmt );
      dbms_sql.bind_variable( v_cur, ':b3', v_fmt );
      v_ret := dbms_sql.execute( v_cur );
      WHILE ( dbms_sql.fetch_rows(v_cur) > 0 ) LOOP
        dbms_sql.column_value_char (v_cur, 1, v_ret_str );
        dbms_sql.column_value (v_cur, 2, v_ret_num );
        dbms_output.put_line('>'||v_ret_str||':'||v_ret_num);
      END LOOP;
    end;
    declare
      v_sql varchar2(1000) :=
        'select to_char(created,f.fmt), count(*) '||
        ' from user_objects u, (select :b1 fmt from dual) f '||
        ' group by to_char(created,f.fmt) '||
        ' order by to_char(created,f.fmt)';
      v_fmt varchar2(10) := 'YYYY';
      v_cur number;
      v_ret_str varchar2(10);
      v_ret_num number;
      v_ret number;
    begin
      v_cur := dbms_sql.open_cursor;
      dbms_sql.parse(v_cur, v_sql, dbms_sql.native );
      dbms_sql.define_column_char (v_cur, 1, v_ret_str, 10);
      dbms_sql.define_column (v_cur, 2, v_ret_num);
      dbms_sql.bind_variable( v_cur, ':b1', v_fmt );
      v_ret := dbms_sql.execute( v_cur );
      WHILE ( dbms_sql.fetch_rows(v_cur) > 0 ) LOOP
        dbms_sql.column_value_char (v_cur, 1, v_ret_str );
        dbms_sql.column_value (v_cur, 2, v_ret_num );
        dbms_output.put_line('>'||v_ret_str||':'||v_ret_num);
      END LOOP;
    end;
    /

  • Running time for group process chain

    Hello Gurus,
             in our system, a group process chain includes a lot of process chains, after the whole group process chain runs through , how can I check how long it takes for  the whole group process  run?
    Many thanks.

    Hi,
    right click on start process of your meta chain..
    there you can find the start time of your meta chain.take that as A.
    go to last process of the chain and right click and take that time as B.
    The difference between the two times is your total meta chain runtime.
    hope this is clear for you.
    Regards
    Ramsunder

  • Human Workflow email notification to a distribution list when assigned to an approval group

    Hi All,
    is there a way to send the notification email to an email distribution list when a task is assigned to an approval group instead of sending individuals emails to each member?
    As of now HW config is sending individual emails to each member of the approval group when the task is assigned to that approval group, for some approval groups (not all) they want the notification emails be sent to a distribution list, also we are using the actionable emails - so far it's working fine - the only thing is that the recipient of the actionable emails should be a dist list, is this even possible?
    thanks in advance

    Hi,
    From your description, some users that are not the dynamic distribution group members receive the messages that are sent to the dynamic distribution groups. If I have misunderstood your concern, please let me know.
    In your case, I recommend you use the following cmdlets to verify the members of this dynamic distribution group at first.
    $MarketingGroup = Get-DynamicDistributionGroup "Marketing Group"
    Get-Recipient -RecipientPreviewFilter $MarketingGroup.RecipientFilter -OrganizationalUnit $MarketingGroup.OrganizationalUnit
    Hope it helps.
    Best regards,
    Amy Wang
    TechNet Community Support
    Hi Amy,
    Correct, some users that should and are filtered out from the DDL are receiving the emails.
    I set the variable and ran the command you provided and got consistent results to the "filter preview" in EMC, the particular user that is filtered out in both membership preview method is still receiving these emails!
    Ash

  • SQL Script - PO/PR Approval Groups and associated Positions and holders

    Hi,
    Does any one has SQL to list down - PO/PR Approval Groups and associated Positions and holders?
    Rgds

    If you are looking for verifiing the approval groups, you can use the approval diagnostics; that has most of these sqls.

Maybe you are looking for

  • What is the "search folders" tab for and how to set it up?

    Since my scratch disk is on my external HD and my project files will be on my system drive I am wondering what location I should set the search tabs folders at. If anyone knows what this a tab does exactly I would like to know. I am under the impress

  • Dreamweaver CS6(MacOSX)をupdate後「テーブルモード」が表示メニューから消える

    はじめまして. Dreamweaver CS6(creative croud版)をMacにインストールして使用しているのですが. Application ManagerにてDWのアップデート通知がありましたのでアップデートしたところ. メニューの[表示]→[テーブルモード]が無くなってしまいました. このため.[テーブルモード]→[拡張テーブルモード]を選択することができなくて困っています. このモードに切り替えるためのショートカットキー「option(Alt) + F6」キーも アップデート後

  • Three Counters in PXI-6259

    Hello Everyone, I'm trying to measure time t in the picture that I have attached. I am using a PXI-6259 for this (both input and output). My first idea is to use one counter to generate the input, another counter to time when to stop the first counte

  • ODI DEF

    Hi , Oracle Data Integrator is a comprehensive data integration platform that covers all data integration requirements: from high-volume, high-performance batch loadss, to event-driven, trickle-feed integration processes, to SOA-enabled data services

  • Printer problem Canon MP170 "Failed to print document" error

    I have a Canon PIXMA MP 170 printer connected to the airport express via USB. I get the error failed to print document I pinged the IP address and it is okay. I used Bonjour and Windows to configure printer and both do not work. I can connect to my s