Skip to main content

Sharing Useful Scripts-Snippets-Queries

  • December 17, 2020
  • 2 replies
  • 1438 views

hhy38
Superhero (Customer)
Forum|alt.badge.img+16
  • Superhero (Customer)
  • 326 replies

Hi,

I would like to share some useful SQL codes of mine. You can share yours in the comments. 

 

  • Remove 
1DECLARE
2 info_ VARCHAR2(2000);
3BEGIN
4 ifsapp.language_sys.set_language('en');
5 FOR rec_ IN (SELECT * FROM /*Table*/ p /*WHERE p.*/)
6 LOOP
7 ifsapp./*Api*/.remove__(info_, rec_.objid, rec_.objversion, 'DO');
8 END LOOP;
9END;
  • New 
1DECLARE
2 info_ VARCHAR2(32000) := NULL;
3 objid_ VARCHAR2(32000) := NULL;
4 objversion_ VARCHAR2(32000) := NULL;
5 attr_ VARCHAR2(32000) := '';
6BEGIN
7 ifsapp.language_sys.set_language('en');
8 FOR rec IN (SELECT * FROM /*Table*/ t /*where*/) LOOP
9 BEGIN
10 attr_ := 'ORDER_NO' || chr(31) || rec.order_no || chr(30); --Fill the attr
11 ifsapp./*Api*/.new__(info_, objid_, objversion_, attr_, 'DO');
12 END;
13 END LOOP;
14END;
  • Modify
1DECLARE
2 order_no_ VARCHAR2(32000) := 'I1510';
3 line_no_ VARCHAR2(32000) := '1';
4 rel_no_ VARCHAR2(32000) := '1';
5 line_item_no_ VARCHAR2(32000) := '0';
6 new_price_ VARCHAR2(32000) := '1';
7 attr_ VARCHAR2(32000) := '';
8BEGIN
9 ifsapp.language_sys.set_language('en');
10 attr_ := 'SALE_UNIT_PRICE' || chr(31) || new_price_ || chr(30);
11 ifsapp.customer_order_line_api.modify(attr_, order_no_, line_no_, rel_no_, line_item_no_);
12END;
  • Insert History Record To Customer Order
1DECLARE
2 order_no_ VARCHAR(32000) := 'D1647';
3 info_ VARCHAR2(32000) := NULL;
4 objid_ VARCHAR2(32000) := NULL;
5 objversion_ VARCHAR2(32000) := NULL;
6 attr_ VARCHAR2(32000) := '';
7 mesaj_ VARCHAR2(1000) := 'Message';
8BEGIN
9 FOR rec IN (SELECT * FROM customer_order WHERE order_no = order_no_) LOOP
10 BEGIN
11 attr_ := 'ORDER_NO' || chr(31) || rec.order_no || chr(30) || 'DATE_ENTERED' || chr(31) || to_char(SYSDATE, 'YYYY-MM-DD-HH24.MI.SS') || chr(30) ||
12 'USERID' || chr(31) || ifsapp.fnd_session_api.get_fnd_user() || chr(30) || 'MESSAGE_TEXT' || chr(31) || mesaj_ || chr(30) || 'HIST_STATE' ||
13 chr(31) || rec.objstate || chr(30);
14 ifsapp.customer_order_history_api.new__(info_, objid_, objversion_, attr_, 'DO');
15 END;
16 END LOOP;
17END;
  • Send Stream To All Users
1DECLARE
2 attr_ VARCHAR2(2000);
3 info_ VARCHAR2(2000);
4 objid_ VARCHAR2(20);
5 objversion_ VARCHAR2(100);
6
7 CURSOR openoracleusers IS
8 SELECT username
9 FROM oracle_account
10 WHERE /*profile <> 'IFS_INTERNAL'
11 AND */account_status = 'OPEN';
12
13BEGIN
14 FOR rec_ IN openoracleusers LOOP
15 client_sys.clear_attr(attr_);
16 client_sys.add_to_attr('TO_USER', rec_.username, attr_);
17 client_sys.add_to_attr('MESSAGE',
18 'Your Message!',
19 attr_);
20 client_sys.add_to_attr('STREAM_TYPE', 'Event', attr_);
21 client_sys.add_to_attr('VISIBLE', fnd_boolean_api.decode('TRUE'), attr_);
22 client_sys.add_to_attr('READ', fnd_boolean_api.decode('FALSE'), attr_);
23 ifsapp.fnd_stream_api.new__(info_, objid_, objversion_, attr_, 'DO');
24 --COMMIT;
25 END LOOP;
26END;
  • Copy Approval Routing To Customer Order
1DECLARE
2 order_no_ VARCHAR2(32000) := 'D1647';
3 lu_name_ VARCHAR2(32000) := 'CustomerOrder';
4 result_ VARCHAR2(32000);
5 newaccessperson VARCHAR2(32000);
6 newaccessgroup VARCHAR2(32000);
7BEGIN
8 ifsapp.approval_routing_api.check_exist(result_, lu_name_, ifsapp.client_sys.get_key_reference(lu_name_, 'ORDER_NO', order_no_));
9
10 IF (result_ = 'FALSE') THEN
11 ifsapp.approval_routing_api.copy_app_profile(newaccessperson, newaccessgroup, lu_name_,
12 ifsapp.client_sys.get_key_reference('CustomerOrder', 'ORDER_NO', order_no_), 'App-Template');
13 END IF;
14END;

 

This topic has been closed for replies.

2 replies

Forum|alt.badge.img+12
  • Hero (Employee)
  • 142 replies
  • December 17, 2020
1DECLARE
2 
3 info_ VARCHAR2(32000) := NULL;
4 objid_ VARCHAR2(32000) := NULL;
5 objversion_ VARCHAR2(32000) := NULL;
6 attr_ VARCHAR2(32000) := NULL;
7 action_ VARCHAR2(32000) := 'DO';
8 
9 CURSOR new_forecast_item IS
10
11 select &FORECAST_ID forecast_id,
12 A.project_id,
13 A.activity_seq,
14 Activity_API.Get_Sub_Project_Id(A.activity_seq) sub_project_id,
15 Activity_API.Get_Activity_No(A.activity_seq) activity_no,
16 A.control_category project_cost_element,
17 PROJECT_COST_ELEMENT_API.Get_Element_Type_Db(Project_API.Get_Company(A.project_id),
18 control_category) item_type_db,
19 Company_Finance_API.Get_Currency_Code(Project_API.Get_Company(A.project_id)) currency_code
20 from PROJ_CONN_DETAILS_ALL A
21 where A.control_category is not null
22 and A.project_id =
23 PROJECT_FORECAST_API.Get_Project_Id(&FORECAST_ID)
24 and ((ABS(NVL(A.estimated, 0)) + ABS(NVL(A.planned, 0)) +
25 ABS(NVL(A.planned_committed, 0)) + ABS(NVL(A.committed, 0)) +
26 ABS(NVL(A.used, 0)) + ABS(NVL(A.actual, 0)) +
27 ABS(NVL(A.estimated_revenue, 0)) +
28 ABS(NVL(A.planned_revenue, 0)) + ABS(NVL(A.posted_revenue, 0)) +
29 ABS(NVL(A.actual_revenue, 0))) > 0)
30 and (A.activity_seq, A.control_category) not in
31 (select activity_seq, project_cost_element
32 from IFSAPP.PROJECT_FORECAST_ITEM
33 where forecast_id = &FORECAST_ID
34 and activity_seq is not null)
35 group by A.project_id, A.activity_seq, A.control_category;
36 
37BEGIN
38 FOR new_rec_ IN new_forecast_item LOOP
39 Client_SYS.Clear_Attr(info_);
40 Client_SYS.Clear_Attr(objid_);
41 Client_SYS.Clear_Attr(objversion_);
42 Client_SYS.Clear_Attr(attr_);
43 Client_SYS.Add_To_Attr('FORECAST_ID', new_rec_.forecast_id, attr_);
44 Client_SYS.Add_To_Attr('PROJECT_ID', new_rec_.project_id, attr_);
45 Client_SYS.Add_To_Attr('SUB_PROJECT_ID', new_rec_.sub_project_id, attr_);
46 Client_SYS.Add_To_Attr('ACTIVITY_SEQ', new_rec_.activity_seq, attr_);
47 Client_SYS.Add_To_Attr('ACTIVITY_NO', new_rec_.activity_no, attr_);
48 Client_SYS.Add_To_Attr('PROJECT_COST_ELEMENT', new_rec_.project_cost_element, attr_);
49 Client_SYS.Add_To_Attr('CURRENCY_CODE', new_rec_.currency_code, attr_);
50 Client_SYS.Add_To_Attr('ETC', '0', attr_);
51 Client_SYS.Add_To_Attr('SPREAD_TYPE_DB', 'MANUAL', attr_);
52 Client_SYS.Add_To_Attr('ITEM_TYPE_DB', new_rec_.item_type_db, attr_);
53 Client_SYS.Add_To_Attr('EXECUTE_MATCHING', 'FALSE', attr_);
54 Client_SYS.Add_To_Attr('USER_MODIFIED', 'TRUE', attr_);
55
56 Project_Forecast_Item_API.New__(info_,objid_,objversion_,attr_,action_);
57
58 END LOOP;
59 COMMIT;
60END;

Add all non forecasted line items on a project forecast activity and set ETC to ‘0’


Forum|alt.badge.img+12
  • Hero (Employee)
  • 142 replies
  • December 17, 2020
1SELECT substr(parent_subproj,2,INSTR(parent_subproj,'^',2)-2)
2FROM
3(
4SELECT a.activity_seq,a.activity_no,a.sub_project_id,ifsapp.sub_project_api.get_total_key_path_(project_id, sub_project_id) parent_subproj
5FROM ifsapp.activity a
6WHERE a.activity_seq = :activity_seq
7)

Get main subproject ID of an activity to collect data per project phase


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings