1 Package hr_api_user_hooks_utility AUTHID CURRENT_USER as
2 /* $Header: hrusrutl.pkh 115.2 2002/12/05 18:05:06 apholt ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |-----------------------< write_hook_parameter_list >----------------------|
6 -- ----------------------------------------------------------------------------
7 -- {Start Of Comments}
8 --
9 -- Description:
10 -- This procedure builds a list of parameters value available at each API
11 -- user hook. The output is written to the HR_API_USER_HOOK_REPORTS table.
12 --
13 -- Prerequisites:
14 -- There are no rows in the HR_API_USER_HOOK_REPORTS which match the
15 -- current database session SESSION_ID.
16 --
17 -- In Parameters:
18 -- None
19 --
20 -- Post success:
21 -- Details of the parameter list are written to HR_API_USER_HOOK_REPORTS.
22 --
23 -- Post Failure:
24 -- An error is raised and no rows are written to HR_API_USER_HOOK_REPORTS.
25 --
26 -- Access Status:
27 -- Internal Development Use Only.
28 --
29 -- {End Of Comments}
30 --
31 procedure write_hook_parameter_list;
32 --
33 -- ----------------------------------------------------------------------------
34 -- |------------------------< write_all_errors_report >-----------------------|
35 -- ----------------------------------------------------------------------------
36 -- {Start Of Comments}
37 --
38 -- Description:
39 -- This procedure builds an error list report for all API modules where
40 -- user hooks are available. The output is written to the
41 -- HR_API_USER_HOOK_REPORTS table.
42 --
43 -- Prerequisites:
44 -- There are no rows in the HR_API_USER_HOOK_REPORTS which match the
45 -- current database session SESSION_ID.
46 --
47 -- In Parameters:
48 -- None
49 --
50 -- Post success:
51 -- Details of any errors are written to HR_API_USER_HOOK_REPORTS.
52 --
53 -- Post Failure:
54 -- An error is raised and no details are written to HR_API_USER_HOOK_REPORTS.
55 --
56 -- Access Status:
57 -- Internal Development Use Only.
58 --
59 -- {End Of Comments}
60 --
61 procedure write_all_errors_report;
62 --
63 -- ----------------------------------------------------------------------------
64 -- |------------------------< write_one_errors_report >-----------------------|
65 -- ----------------------------------------------------------------------------
66 -- {Start Of Comments}
67 --
68 -- Description:
69 -- This procedure builds an error list report for one API module. The output
70 -- is written to the HR_API_USER_HOOK_REPORTS table.
71 --
72 -- Prerequisites:
73 -- The API module must be defined in the HR_API_MODULES table.
74 -- The API module is not an alternative interface.
75 --
76 -- There are no rows in the HR_API_USER_HOOK_REPORTS which match the
77 -- current database session SESSION_ID.
78 --
79 -- In Parameters:
80 -- Name Reqd Type Description
81 -- p_api_module_id Yes Number ID of API module
82 --
83 -- Post success:
84 -- Details of any errors are written to HR_API_USER_HOOK_REPORTS.
85 --
86 -- If no API module exists with the p_api_module_id ID, or the API
87 -- module is an alternative interface then no details are written
88 -- to HR_API_USER_HOOK_REPORTS and no error is raised.
89 --
90 -- Post Failure:
91 -- An Oracle error error is raised.
92 --
93 -- Access Status:
94 -- Internal Development Use Only.
95 --
96 -- {End Of Comments}
97 --
98 procedure write_one_errors_report
99 (p_api_module_id in number
100 );
101 --
102 -- ----------------------------------------------------------------------------
103 -- |---------------------------< clear_hook_report >--------------------------|
104 -- ----------------------------------------------------------------------------
105 -- {Start Of Comments}
106 --
107 -- Description:
108 -- This procedure deleted all the rows from HR_API_USER_HOOK_REPORTS
109 -- which match this database session SESSION_ID. Rows for database sessions
110 -- which no longer exist are also deleted.
111 --
112 -- Prerequisites:
113 -- None
114 --
115 -- In Parameters:
116 -- None
117 --
118 -- Post success:
119 -- Rows in HR_API_USER_HOOK_REPORTS which match this database session
120 -- SESSION_ID are removed. This procedure does issue a commit.
121 --
122 -- Post Failure:
123 -- An error is raised and no HR_API_USER_HOOK_REPORTS are deleted.
124 --
125 -- Access Status:
126 -- Internal Development Use Only.
127 --
128 -- {End Of Comments}
129 --
130 procedure clear_hook_report;
131 --
132 -- ----------------------------------------------------------------------------
133 -- |------------------------< create_hooks_all_modules >----------------------|
134 -- ----------------------------------------------------------------------------
135 -- {Start Of Comments}
136 --
137 -- Description:
138 -- This procedure will create the hook package body source code for all
139 -- the API modules which have been defined in the HR_API_MODULES table.
140 -- Alternative Interface API modules are not processed as they do not
141 -- contain user hooks.
142 -- This procedure can be called in a number of scenarios.
143 -- 1) During install of core product code.
144 -- 2) During install of legislation specific code.
145 -- 3) After a customer has defined extra hook logic.
146 --
147 -- Prerequisites:
148 -- In all scenarios this procedure should be executed after the
149 -- corresponding package headers, package bodies have been installed in
150 -- the database. The package code should have a status of 'VALID'.
151 -- The corresponding seed data for the HR_API_MODULES, HR_API_HOOKS and
152 -- HR_API_HOOK_CALLS tables should have been installed.
153 --
154 -- This procedure should only be called from sql scripts as it issues
155 -- many commit statements.
156 --
157 -- In Parameters:
158 -- None
159 --
160 -- Post success:
161 -- Hook package body source code will be created directly in the database.
162 -- Details of any application errors will be written to the HR_API_HOOKS
163 -- and HR_API_HOOK_CALLS tables.
164 --
165 -- Post Failure:
166 -- An error is raised and the remainder of the hook package bodies will
167 -- not be created.
168 --
169 -- Access Status:
170 -- Internal Development Use Only.
171 --
172 -- {End Of Comments}
173 --
174 procedure create_hooks_all_modules;
175 --
176 -- ----------------------------------------------------------------------------
177 -- |------------------------< create_hooks_one_module >-----------------------|
178 -- ----------------------------------------------------------------------------
179 -- {Start Of Comments}
180 --
181 -- Description:
182 -- This procedure will create the hook package body source code for one
183 -- API module.
184 --
185 -- Prerequisites:
186 -- The API module must be defined in the HR_API_MODULES table and must
187 -- not be an alternative interface module.
188 --
189 -- This procedure should be executed after the corresponding hook and call
190 -- package headers, package bodies have been installed in the database.
191 -- The package code should have a status of 'VALID'. The corresponding seed
192 -- data for the HR_API_MODULES, HR_API_HOOKS and HR_API_HOOK_CALLS tables
193 -- should have been installed.
194 --
195 -- This procedure should only be called from sql scripts as it issues
196 -- commit statements.
197 --
198 -- In Parameters:
199 -- Name Reqd Type Description
200 -- p_api_module_id Yes Number ID of API module
201 --
202 -- Post success:
203 -- Hook package body source code will be created directly in the database.
204 -- Details of any application errors will be written to the HR_API_HOOKS
205 -- and HR_API_HOOK_CALLS tables.
206 --
207 -- If no API module exists with the p_api_module_id ID then no package body
208 -- source code is created and no error is raised.
209 --
210 -- Post Failure:
211 -- An error is raised and the remainder of the hook package bodies will
212 -- not be created.
213 --
214 -- Access Status:
215 -- Internal Development Use Only.
216 --
217 -- {End Of Comments}
218 --
219 procedure create_hooks_one_module
220 (p_api_module_id in number
221 );
222 --
223 -- ----------------------------------------------------------------------------
224 -- |------------------------< create_hooks_add_report >-----------------------|
225 -- ----------------------------------------------------------------------------
226 -- {Start Of Comments}
227 --
228 -- Description:
229 -- This procedure will create the hook package body source code for one
230 -- API module and will then add details of the generation to the hook
231 -- report table.
232 --
233 -- This procedure provides is a cover to calling create_hooks_one_module
234 -- and write_one_errors_report separately. It has been designed to be
235 -- executed from *rsd.sql and *asd.sql scripts.
236 --
237 -- Prerequisites:
238 -- The API module must be defined in the HR_API_MODULES table and must
239 -- not be an alternative interface module.
240 --
241 -- This procedure should be executed after the corresponding hook and call
242 -- package headers, package bodies have been installed in the database.
243 -- The package code should have a status of 'VALID'. The corresponding seed
244 -- data for the HR_API_MODULES, HR_API_HOOKS and HR_API_HOOK_CALLS tables
245 -- should have been installed.
246 --
247 -- This procedure should only be called from sql scripts as it issues
248 -- commit statements.
249 --
250 -- In Parameters:
251 -- Name Reqd Type Description
252 -- p_api_module_id Yes Number ID of API module
253 --
254 -- Post success:
255 -- Hook package body source code will be created directly in the database.
256 -- Details of any application errors will be written to the HR_API_HOOKS
257 -- and HR_API_HOOK_CALLS tables.
258 --
259 -- Details of the source code generation will be written to the
260 -- HR_API_USER_HOOK_REPORTS table.
261 --
262 -- If no API module exists with the p_api_module_id ID then no package body
263 -- source code is created and no error is raised.
264 --
265 -- Post Failure:
266 -- An error is raised and the remainder of the hook package bodies will
267 -- not be created.
268 --
269 -- Access Status:
270 -- Internal Development Use Only.
271 --
272 -- {End Of Comments}
273 --
274 procedure create_hooks_add_report
275 (p_api_module_id in number
276 );
277 --
278 end hr_api_user_hooks_utility;