DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSM_SETUP_HOOK

Source


1 PACKAGE BODY CSM_SETUP_HOOK AS
2 /* $Header: csmduhkb.pls 120.1 2005/07/22 08:22:26 trajasek noship $ */
3 --
4 -- To modify this template, edit file PKGBODY.TXT in TEMPLATE
5 -- directory of SQL Navigator
6 --
7 -- Purpose: Briefly explain the functionality of the package body
8 --
9 -- MODIFICATION HISTORY
10 -- Person      Date    Comments
11 -- ---------   ------  ------------------------------------------
12    -- Enter procedure, function bodies as shown below
13   ------------------------------------------------------------
14   -- procedure to initialize test datastructures
15   -- executeds prior to test run (not currently being called)
16   ------------------------------------------------------------
17   PROCEDURE init IS
18   BEGIN
19    -- test writer could insert special setup code here
20    null;
21   END init;
22 
23   ------------------------------------------------------------
24   -- procedure to cleanup any  test datastructures that were setup in the init
25   --  procedure call executes after test run (not currently being called)
26   ------------------------------------------------------------
27   PROCEDURE cleanup IS
28   BEGIN
29    -- test writer could insert special cleanup code here
30    NULL;
31   END cleanup;
32 
33   ------------------------------------------------------------
34   -- procedure to execute the PLSQL test
35   -- the inputs needed for the test are passed in and a report object and CLOB are -- returned.
36   ------------------------------------------------------------
37   PROCEDURE runtest(inputs IN  JTF_DIAG_INPUTTBL,
38                             report OUT NOCOPY JTF_DIAG_REPORT,
39                             reportClob OUT NOCOPY CLOB) IS
40      reportStr   LONG;
41      statusStr   VARCHAR2(50);  -- SUCCESS or FAILURE
42      errStr      VARCHAR2(4000);
43      fixInfo     VARCHAR2(4000);
44      isFatal     VARCHAR2(50);  -- TRUE or FALSE
45      hookExists  VARCHAR2(1) ;
46 
47      TYPE hookRec IS RECORD (packageName varchar2 (50),
48                             apiName varchar2(50),
49                             hookType varchar2(1),
50                             processingType varchar2(1)) ;
51 
52      TYPE hookTab IS TABLE OF hookRec INDEX BY BINARY_INTEGER;
53      hookTable hookTab ;
54    BEGIN
55      JTF_DIAGNOSTIC_ADAPTUTIL.setUpVars(reportClob);
56 
57          hookTable(1).packageName := 'CSF_DEBRIEF_LINES_IUHK' ;
58          hookTable(1).apiName := 'INSERT_ROW' ;
59          hookTable(1).hookType := 'I' ; -- Internal
60          hookTable(1).processingType := 'A' ; -- After
61 
62          hookTable(2).packageName := 'CSF_DEBRIEF_LINES_IUHK' ;
63          hookTable(2).apiName := 'UPDATE_ROW' ;
64          hookTable(2).hookType := 'I' ; -- Internal
65          hookTable(2).processingType := 'B' ; -- Before
66 
67          hookTable(3).packageName := 'CSF_DEBRIEF_LINES_IUHK' ;
68          hookTable(3).apiName := 'UPDATE_ROW' ;
69          hookTable(3).hookType := 'I' ; -- Internal
70          hookTable(3).processingType := 'A' ; -- After
71 
72          hookTable(4).packageName := 'CSF_DEBRIEF_LINES_IUHK' ;
73          hookTable(4).apiName := 'DELETE_ROW' ;
74          hookTable(4).hookType := 'I' ; -- Internal
75          hookTable(4).processingType := 'B' ; -- Before
76 
77          hookTable(5).packageName := 'JTF_TASKS_PUB' ;
78          hookTable(5).apiName := 'UPDATE_TASK' ;
79          hookTable(5).hookType := 'I' ; -- Internal
80          hookTable(5).processingType := 'B' ;
81 
82          hookTable(6).packageName := 'CS_ServiceRequest_PVT' ;
83          hookTable(6).apiName := 'Update_ServiceRequest' ;
84          hookTable(6).hookType := 'I' ; -- Internal
85          hookTable(6).processingType := 'B' ;
86 
87          hookTable(7).packageName := 'CS_ServiceRequest_PVT' ;
88          hookTable(7).apiName := 'Update_ServiceRequest' ;
89          hookTable(7).hookType := 'I' ; -- Internal
90          hookTable(7).processingType := 'A' ;
91 
92          hookTable(8).packageName := 'JTF_TASK_ASSIGNMENTS_PUB' ;
93          hookTable(8).apiName := 'CREATE_TASK_ASSIGNMENT' ;
94          hookTable(8).hookType := 'I' ; -- Internal
95          hookTable(8).processingType := 'A' ;
96 
97          hookTable(9).packageName := 'JTF_TASK_ASSIGNMENTS_PUB' ;
98          hookTable(9).apiName := 'UPDATE_TASK_ASSIGNMENT' ;
99          hookTable(9).hookType := 'I' ; -- Internal
100          hookTable(9).processingType := 'B' ;
101 
102          hookTable(10).packageName := 'JTF_TASK_ASSIGNMENTS_PUB' ;
103          hookTable(10).apiName := 'DELETE_TASK_ASSIGNMENT' ;
104          hookTable(10).hookType := 'I' ; -- Internal
105          hookTable(10).processingType := 'B' ;
106 
107          hookTable(11).packageName := 'CSP_INV_LOC_ASSIGNMENTS_IUHK' ;
108          hookTable(11).apiName := 'INSERT_ROW' ;
109          hookTable(11).hookType := 'I' ; -- Internal
110          hookTable(11).processingType := 'A' ;
111 
112          hookTable(12).packageName := 'CSP_INV_LOC_ASSIGNMENTS_IUHK' ;
113          hookTable(12).apiName := 'UPDATE_ROW' ;
114          hookTable(12).hookType := 'I' ; -- Internal
115          hookTable(12).processingType := 'B' ;
116 
117          hookTable(13).packageName := 'CSP_INV_LOC_ASSIGNMENTS_IUHK' ;
118          hookTable(13).apiName := 'UPDATE_ROW' ;
119          hookTable(13).hookType := 'I' ; -- Internal
120          hookTable(13).processingType := 'A' ;
121 
122          hookTable(14).packageName := 'JTM_NOTES_PUB' ;
123          hookTable(14).apiName := 'CREATE_NOTE' ;
124          hookTable(14).hookType := 'V' ; -- Vertical
125          hookTable(14).processingType := 'A' ;
126 
127          hookTable(15).packageName := 'JTM_NOTES_PUB' ;
128          hookTable(15).apiName := 'UPDATE_NOTE' ;
129          hookTable(15).hookType := 'V' ; -- Vertical
130          hookTable(15).processingType := 'B' ;
131 
132          hookTable(16).packageName := 'JTM_CTR_CAPTURE_READING_PUB' ;
133          hookTable(16).apiName := 'CAPTURE_COUNTER_READING' ;
134          hookTable(16).hookType := 'V' ; -- Vertical
135          hookTable(16).processingType := 'A' ;
136 
137          hookTable(17).packageName := 'JTM_CTR_CAPTURE_READING_PUB' ;
138          hookTable(17).apiName := 'UPDATE_COUNTER_READING' ;
139          hookTable(17).hookType := 'V' ; -- Vertical
140          hookTable(17).processingType := 'B' ;
141 
142          hookTable(18).packageName := 'JTM_RS_GROUP_MEMBERS_PVT' ;
143          hookTable(18).apiName := 'CREATE_RESOURCE_GROUP_MEMBERS' ;
144          hookTable(18).hookType := 'V' ; -- Vertical
145          hookTable(18).processingType := 'A' ;
146 
147          hookTable(19).packageName := 'JTM_RS_GROUP_MEMBERS_PVT' ;
148          hookTable(19).apiName := 'DELETE_RESOURCE_GROUP_MEMBERS' ;
149          hookTable(19).hookType := 'V' ; -- Vertical
150          hookTable(19).processingType := 'B' ;
151 
152          hookTable(20).packageName := 'JTM_COUNTERS_PUB' ;
153          hookTable(20).apiName := 'CREATE_COUNTER' ;
154          hookTable(20).hookType := 'V' ; -- Vertical
155          hookTable(20).processingType := 'A' ;
156 
157          hookTable(21).packageName := 'JTM_COUNTERS_PUB' ;
158          hookTable(21).apiName := 'UPDATE_COUNTER' ;
159          hookTable(21).hookType := 'V' ; -- Vertical
160          hookTable(21).processingType := 'B' ;
161 
162          hookTable(22).packageName := 'CS_ServiceRequest_PVT' ;
163          hookTable(22).apiName := 'Create_ServiceRequest' ;
164          hookTable(22).hookType := 'I' ; -- Internal
165          hookTable(22).processingType := 'A' ;
166 
167          hookTable(23).packageName := 'JTF_TASKS_PUB' ;
168 	 hookTable(23).apiName := 'CREATE_TASK' ;
169          hookTable(23).hookType := 'I' ; -- Internal
170          hookTable(23).processingType := 'A' ;
171 
172          hookTable(24).packageName := 'JTF_TASKS_PUB' ;
173 	 hookTable(24).apiName := 'DELETE_TASK' ;
174          hookTable(24).hookType := 'I' ; -- Internal
175          hookTable(24).processingType := 'A' ;
176 
177          hookTable(25).packageName := 'CSP_SHIP_TO_ADDRESS_PVT' ;
178 	 hookTable(25).apiName := 'SHIP_TO_ADDRESS_HANDLER' ;
179          hookTable(25).hookType := 'I' ; -- Internal
180          hookTable(25).processingType := 'A' ;
181 
182          hookTable(26).packageName := 'CSP_SHIP_TO_ADDRESS_PVT' ;
183 	 hookTable(26).apiName := 'UPDATE_LOCATION' ;
184          hookTable(26).hookType := 'I' ; -- Internal
185          hookTable(26).processingType := 'A' ;
186 
187          hookTable(27).packageName := 'CSP_REQUIREMENT_HEADERS_PKG' ;
188 	 hookTable(27).apiName := 'UPDATE_ROW' ;
189          hookTable(27).hookType := 'I' ; -- Internal
190          hookTable(27).processingType := 'A' ;
191 
192          hookTable(28).packageName := 'CSP_REQUIREMENT_HEADERS_PKG' ;
193 	 hookTable(28).apiName := 'INSERT_ROW' ;
194          hookTable(28).hookType := 'I' ; -- Internal
195          hookTable(28).processingType := 'A' ;
196 
197          hookTable(29).packageName := 'CSP_REQUIREMENT_HEADERS_PKG' ;
198 	 hookTable(29).apiName := 'DELETE_ROW' ;
199          hookTable(29).hookType := 'I' ; -- Internal
200          hookTable(29).processingType := 'A' ;
201 
202          hookTable(30).packageName := 'CSP_REQUIREMENT_LINES_PKG' ;
203 	 hookTable(30).apiName := 'UPDATE_ROW' ;
204          hookTable(30).hookType := 'I' ; -- Internal
205          hookTable(30).processingType := 'A' ;
206 
207          hookTable(31).packageName := 'CSP_REQUIREMENT_LINES_PKG' ;
208 	 hookTable(31).apiName := 'INSERT_ROW' ;
209          hookTable(31).hookType := 'I' ; -- Internal
210          hookTable(31).processingType := 'A' ;
211 
212          hookTable(32).packageName := 'CSP_REQUIREMENT_LINES_PKG' ;
213 	 hookTable(32).apiName := 'DELETE_ROW' ;
214          hookTable(32).hookType := 'I' ; -- Internal
215          hookTable(32).processingType := 'A' ;
216 
217          FOR i IN 1..hookTable.COUNT LOOP
218             BEGIN
219                 select 'Y'
220                   into hookExists
221                   from jtf_hooks_data
222                  where package_name = hookTable(i).packageName
223                    and api_name = hookTable(i).apiName
224                    and hook_type = hookTable(i).hookType
225                    and processing_type = hookTable(i).processingType
226                    and execute_flag = 'Y'
227                    and product_code = 'CSM' ;
228             EXCEPTION
229                 WHEN NO_DATA_FOUND THEN
230                      hookExists := 'N' ;
231             END  ;
232 
233             IF (hookExists = 'Y') THEN
234                 if reportStr is null then
235                    reportStr := 'Hook registered for ' || hookTable(i).packageName || '.' || hookTable(i).apiName || ' with processing type '||hookTable(i).processingType  ;
236                 else
237                    reportStr := ', ' || hookTable(i).packageName || '.' || hookTable(i).apiName || ' with processing type '||hookTable(i).processingType  ;
238                 end if ;
239                 JTF_DIAGNOSTIC_ADAPTUTIL.addStringToReport(reportClob,reportStr);
240                 if statusStr is null or statusStr = 'SUCCESS' then
241                    statusStr := 'SUCCESS';
242                 end if ;
243            ELSE
244               statusStr := 'FAILURE';
245               if errStr is null then
246                  errStr := errStr || 'Hook not registered for ' || hookTable(i).packageName || '.' || hookTable(i).apiName || ' with processing type '||hookTable(i).processingType  ;
247               else
248                  errStr := errStr || ', ' || hookTable(i).packageName || '.' || hookTable(i).apiName || ' with processing type '||hookTable(i).processingType  ;
249               end if ;
250               fixInfo := 'Apply latest patch then contact support (if needed).' ;
251               isFatal := 'FALSE';
252            END IF;
253          END LOOP ;
254          report := JTF_DIAGNOSTIC_ADAPTUTIL.constructReport(statusStr,errStr,fixInfo,isFatal);
255          reportClob := JTF_DIAGNOSTIC_ADAPTUTIL.getReportClob ;
256    END runTest;
257 
258   ------------------------------------------------------------
259   -- procedure to report name back to framework
260   ------------------------------------------------------------
261   PROCEDURE getComponentName(str OUT NOCOPY VARCHAR2) IS
262   BEGIN
263     str := 'User Hooks Registration Status';
264   END getComponentName;
265 
266   ------------------------------------------------------------
267   -- procedure to report test description back to framework
268   ------------------------------------------------------------
269   PROCEDURE getTestDesc(str OUT NOCOPY VARCHAR2) IS
270   BEGIN
271     str := 'User Hooks Registration';
272   END getTestDesc;
273 
274   ------------------------------------------------------------
275   -- procedure to report test name back to framework
276   ------------------------------------------------------------
277   PROCEDURE getTestName(str OUT NOCOPY VARCHAR2) IS
278   BEGIN
279     str := 'Check User Hooks';
280   END getTestName;
281 
282    -- Enter further code below as specified in the Package spec.
283 END;