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 wrongI 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,
SamWhy 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
GhadeerYou 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 AMYour 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.
YvonneHi 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,
GowriBasically, 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 -
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 AMThanks 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.BPl 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 RegardsHi
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 advanceHi,
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?
RgdsIf 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」キーも アップデート後
-
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
-
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