DBA Data[Home] [Help]

PACKAGE BODY: APPS.FND_PORTLET_DEPENDENCY_PKG

Source


1 package body FND_PORTLET_DEPENDENCY_PKG as
2 /* $Header: FNDPRTRB.pls 120.2 2005/11/04 13:55:18 sdstratt noship $ */
3 
4 procedure INSERT_CONCURRENT_ROW (
5   X_CONCURRENT_PROGRAM_NAME in VARCHAR2,
6   X_CONCURRENT_APPLICATION_CODE in VARCHAR2,
7   X_FUNCTION_NAME in VARCHAR2
8 ) IS
9 
10 l_rowid rowid;
11 
12 begin
13 
14    FND_PORTLET_DEPENDENCY_PKG.INSERT_ROW (
15       l_rowid,
16       X_CONCURRENT_PROGRAM_NAME,
17       X_CONCURRENT_APPLICATION_CODE,
18       X_FUNCTION_NAME,
19       sysdate,
20       2,
21       sysdate,
22       2,
23       0);
24 
25 end INSERT_CONCURRENT_ROW;
26 
27 procedure DELETE_CONCURRENT_ROW (
28   X_CONCURRENT_PROGRAM_NAME in VARCHAR2,
29   X_CONCURRENT_APPLICATION_CODE in VARCHAR2,
30   X_FUNCTION_NAME in VARCHAR2
31 ) IS
32 
33 
34 begin
35 
36    FND_PORTLET_DEPENDENCY_PKG.DELETE_ROW (
37       X_CONCURRENT_PROGRAM_NAME,
38       X_CONCURRENT_APPLICATION_CODE,
39       X_FUNCTION_NAME);
40 
41 end DELETE_CONCURRENT_ROW;
42 
43 procedure INSERT_ROW (
44   X_ROWID in out NOCOPY VARCHAR2,
45   X_REFRESH_DEPENDENCY in VARCHAR2,
46   X_REFRESH_DEPENDENCY_CONTEXT in VARCHAR2,
47   X_FUNCTION_NAME in VARCHAR2,
48   X_CREATION_DATE in DATE,
49   X_CREATED_BY in NUMBER,
50   X_LAST_UPDATE_DATE in DATE,
51   X_LAST_UPDATED_BY in NUMBER,
52   X_LAST_UPDATE_LOGIN in NUMBER
53 ) is
54   cursor C is select ROWID from FND_PORTLET_DEPENDENCY
55     where REFRESH_DEPENDENCY = X_REFRESH_DEPENDENCY
56     and REFRESH_DEPENDENCY_CONTEXT = X_REFRESH_DEPENDENCY_CONTEXT
57     and FUNCTION_NAME = X_FUNCTION_NAME
58     ;
59 begin
60 
61   insert into FND_PORTLET_DEPENDENCY (
62     REFRESH_DEPENDENCY,
63     REFRESH_DEPENDENCY_CONTEXT,
64     FUNCTION_NAME,
65     CREATION_DATE,
66     CREATED_BY,
67     LAST_UPDATE_DATE,
68     LAST_UPDATED_BY,
69     LAST_UPDATE_LOGIN
70   ) SELECT
71     X_REFRESH_DEPENDENCY,
72     X_REFRESH_DEPENDENCY_CONTEXT,
73     X_FUNCTION_NAME,
74     X_CREATION_DATE,
75     X_CREATED_BY,
76     X_LAST_UPDATE_DATE,
77     X_LAST_UPDATED_BY,
78     X_LAST_UPDATE_LOGIN
79     FROM DUAL
80     where not exists
81     (select NULL
82     from FND_PORTLET_DEPENDENCY D
83     where D.REFRESH_DEPENDENCY = X_REFRESH_DEPENDENCY
84       and D.REFRESH_DEPENDENCY_CONTEXT = X_REFRESH_DEPENDENCY_CONTEXT
85       and D.FUNCTION_NAME = X_FUNCTION_NAME);
86 
87   open c;
88   fetch c into X_ROWID;
89   if (c%notfound) then
90     close c;
91     raise no_data_found;
92   end if;
93   close c;
94 
95 end INSERT_ROW;
96 
97 procedure DELETE_ROW (
98   X_REFRESH_DEPENDENCY in VARCHAR2,
99   X_REFRESH_DEPENDENCY_CONTEXT in VARCHAR2,
100   X_FUNCTION_NAME in VARCHAR2
101 ) is
102 begin
103   delete from FND_PORTLET_DEPENDENCY
104   where REFRESH_DEPENDENCY = X_REFRESH_DEPENDENCY
105   and   REFRESH_DEPENDENCY_CONTEXT = X_REFRESH_DEPENDENCY_CONTEXT
106   and   FUNCTION_NAME = X_FUNCTION_NAME;
107 
108   if (sql%notfound) then
109     raise no_data_found;
110   end if;
111 
112 end DELETE_ROW;
113 
114 Procedure PP_ACTION ( errbuff out NOCOPY varchar2,
115                       retcode out NOCOPY varchar2,
116                       step    in  number  ) is
117 
118    request_id number;
119    program_name varchar2(30);
120    program_application_name varchar2(30);
121 
122   cursor portlet_dependency (c_REFRESH_DEPENDENCY         varchar2,
123                              c_REFRESH_DEPENDENCY_CONTEXT varchar2)is
124     select PORT.FUNCTION_NAME FUNCTION_NAME
125     from  FND_PORTLET_DEPENDENCY PORT
126     where PORT.REFRESH_DEPENDENCY = c_REFRESH_DEPENDENCY
127      and  PORT.REFRESH_DEPENDENCY_CONTEXT = c_REFRESH_DEPENDENCY_CONTEXT;
128 
129 begin
130    request_id  := FND_GLOBAL.CONC_REQUEST_ID;
131 
132    -- call FND_CONC_PP.RETRIVE procedure to get any parameters set at the
133    -- time of assigning this PP_ACTION
134    --
135 
136    -- call FND_REQUEST_INFO.INITIALIZE followed by GET_PARAM_INFO/GET_PROGRAM
137    -- GET_PARAMETER to get request specific information
138 
139    select p.concurrent_program_name, a.APPLICATION_SHORT_NAME
140      into program_name, program_application_name
141      from fnd_application A, fnd_concurrent_programs P
142     where P.concurrent_program_id = fnd_global.conc_program_id
143       and P.application_id = fnd_global.prog_appl_id
144       and P.application_id = A.application_id;
145 
146 --   insert into geo_test values ('Program: ' || program_name);
147 --   insert into geo_test values ('Program App: ' || program_application_name);
148 
149    -- code your logic
150    -- get the portlet functions that should be marked as dirty based on the
151    -- execution of this concurrent program
152    for func in portlet_dependency (program_name, program_application_name) loop
153 
154 --      insert into geo_test values ('Found Func: ' || func.function_name);
155 
156       icx_portlet.updCacheByFuncName (func.function_name);
157 
158    end loop;
159 
160 
161    -- Assing errbuff, retcode values to see the assigned value in request log
162    -- file .
163    pp_action.errbuff := 'FND_CP_TEMPLATE.pp_action Completed';
164    pp_action.retcode := 0;
165 
166    commit;
167 end;
168 
169 end FND_PORTLET_DEPENDENCY_PKG;