1 PACKAGE BODY BSC_PMA_DIAG_TEST AS
2 /* $Header: BSCPHNGB.pls 120.0.12000000.1 2007/08/09 09:54:28 appldev noship $ */
3 ------------------------------------------------------------
4 -- procedure to initialize test datastructures
5 ------------------------------------------------------------
6 PROCEDURE init IS
7 BEGIN
8 -- test writer could insert special setup code here
9 NULL;
10 END init;
11 ------------------------------------------------------------
12 -- procedure to cleanup any test datastructures that were setup in the init
13
14 PROCEDURE cleanup IS
15 BEGIN
16 -- test writer could insert special cleanup code here
17 NULL;
18 END cleanup;
19 ------------------------------------------------------------
20 -- procedure to execute the PLSQL test
21 -- the inputs needed for the test are passed in and a report object and CLOB are
22 -- returned.
23 -- note the way that support API writes to the report CLOB.
24 ------------------------------------------------------------
25 PROCEDURE runtest(inputs IN JTF_DIAG_INPUTTBL,
26 report OUT NOCOPY JTF_DIAG_REPORT,
27 reportClob OUT NOCOPY CLOB) IS
28 reportStr LONG;
29 counter NUMBER;
30 dummy_v2t JTF_DIAGNOSTIC_COREAPI.v2t;
31 c_userid VARCHAR2(50);
32 statusStr VARCHAR2(50);
33 errStr VARCHAR2(4000);
34 fixInfo VARCHAR2(4000);
35 isFatal VARCHAR2(50);
36 dummy_num NUMBER;
37 sqltxt VARCHAR2 (2000);
38 h_headers JTF_DIAGNOSTIC_COREAPI.headers;
39 h_lengths JTF_DIAGNOSTIC_COREAPI.lengths;
40 h_count NUMBER;
41 h_source bsc_sys_dim_levels_b.source%TYPE;
42 h_pmf_count NUMBER;
43 h_bsc_count NUMBER;
44 h_module_name BSC_LOOKUPS.MEANING%TYPE;
45 h_request_id NUMBER;
46 BEGIN
47 h_bsc_count := 0;
48 h_pmf_count := 0;
49 JTF_DIAGNOSTIC_ADAPTUTIL.setUpVars;
50
51 JTF_DIAGNOSTIC_ADAPTUTIL.addStringToReport('@html');
52
53 JTF_DIAGNOSTIC_COREAPI.insert_style_sheet;
54
55 h_module_name := JTF_DIAGNOSTIC_ADAPTUTIL.getInputValue('Module Name',inputs);
56 BEGIN
57 h_request_id := TO_NUMBER(JTF_DIAGNOSTIC_ADAPTUTIL.getInputValue('Concurrent Request ID',inputs));
58 IF h_request_id IS NULL OR h_request_id =0 THEN
59 RAISE_APPLICATION_ERROR(-20000,BSC_OBJECTIVE_METADATA_SETUP.get_message_name('BSC_INVLD_REQUEST_ID'));
60 END IF;
61 EXCEPTION
62 WHEN OTHERS THEN
63 RAISE_APPLICATION_ERROR(-20000,BSC_OBJECTIVE_METADATA_SETUP.get_message_name('BSC_INVLD_REQUEST_ID'));
64 END;
65 --CHECK IF THERE ARE ANY AW LOCKS
66
67 SELECT COUNT(1) INTO h_count FROM
68 v$aw_olap,all_aws,v$session
69 WHERE all_aws.aw_name=bsc_aw_management.get_aw_workspace_name
70 AND all_aws.aw_number=v$aw_olap.aw_number
71 AND v$session.sid=v$aw_olap.session_id;
72
73
74 IF h_count >0 THEN
75 JTF_DIAGNOSTIC_COREAPI.BRPrint;
76 JTF_DIAGNOSTIC_COREAPI.actionprint(BSC_OBJECTIVE_METADATA_SETUP.get_message_name('BSC_AW_LOCK_MSG'));
77
78 statusStr := 'FAILURE';
79 errStr := BSC_OBJECTIVE_METADATA_SETUP.get_message_name('BSC_AW_LOCK_MSG');
80
81 fixInfo := BSC_OBJECTIVE_METADATA_SETUP.get_message_name('BSC_AW_LOCK_MSG');
82
83 JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint(fixInfo);
84 isFatal := 'FALSE';
85 END IF;
86
87 IF h_module_name = 'METADATA_OPTIMIZER' THEN
88 JTF_DIAGNOSTIC_COREAPI.BRPrint;
89 sqltxt := 'SELECT * FROM bsc_tmp_opt_ui_kpis WHERE PROCESS_ID=( SELECT TO_NUMBER(argument2) FROM '||
90 ' fnd_concurrent_requests WHERE request_id ='|| h_request_id ||' )' ;
91
92 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt,'BSC_TMP_OPT_UI_KPIS');
93
94 JTF_DIAGNOSTIC_COREAPI.BRPrint;
95 sqltxt := 'SELECT VARIABLE_ID,VALUE_N,VALUE_V FROM BSC_TMP_BIG_IN_COND WHERE VARIABLE_ID = -200 ORDER BY VALUE_N';
96
97 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt,'BSC_TMP_BIG_IN_COND');
98
99 ELSE
100 JTF_DIAGNOSTIC_COREAPI.BRPrint;
101 sqltxt := 'SELECT * FROM bsc_db_loader_control WHERE PROCESS_ID=( SELECT TO_NUMBER(argument1) FROM '||
102 ' fnd_concurrent_requests WHERE request_id ='|| h_request_id ||' )' ;
103 dummy_num:= JTF_DIAGNOSTIC_COREAPI.display_sql(sqltxt,'BSC_DB_LOADER_CONTROL');
104
105 END IF;
106
107 JTF_DIAGNOSTIC_COREAPI.BRPrint;
108 statusStr := 'WARNING';
109 errStr := BSC_OBJECTIVE_METADATA_SETUP.get_message_name('BSC_NEED_INVESTIGATION');
110
111 fixInfo := BSC_OBJECTIVE_METADATA_SETUP.get_message_name('BSC_GEN_CONC_TRC');
112 JTF_DIAGNOSTIC_COREAPI.BRPrint;
113 JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint(fixInfo);
114 isFatal := 'FALSE';
115 report := JTF_DIAGNOSTIC_ADAPTUTIL.constructReport(statusStr,errStr,fixInfo,isFatal);
116 reportClob := JTF_DIAGNOSTIC_ADAPTUTIL.getReportClob;
117 EXCEPTION
118 WHEN OTHERS THEN
119 statusStr := 'FAILURE';
120 errStr := SQLERRM;
121
122 fixInfo := SQLERRM;
123 JTF_DIAGNOSTIC_COREAPI.BRPrint;
124 JTF_DIAGNOSTIC_COREAPI.ActionErrorPrint(fixInfo);
125 isFatal := 'FALSE';
126 report := JTF_DIAGNOSTIC_ADAPTUTIL.constructReport(statusStr,errStr,fixInfo,isFatal);
127 reportClob := JTF_DIAGNOSTIC_ADAPTUTIL.getReportClob;
128 END runTest;
129
130 ------------------------------------------------------------
131 -- procedure to report name back to framework
132 ------------------------------------------------------------
133 PROCEDURE getComponentName(name OUT NOCOPY VARCHAR2) IS
134 BEGIN
135 name := BSC_OBJECTIVE_METADATA_SETUP.get_message_name('BSC_PMA_DIAG_COMPONENT');
136 END getComponentName;
137
138 ------------------------------------------------------------
139 -- procedure to report test description back to framework
140 ------------------------------------------------------------
141 PROCEDURE getTestDesc(descStr OUT NOCOPY VARCHAR2) IS
142 BEGIN
143 descStr := BSC_OBJECTIVE_METADATA_SETUP.get_message_name('BSC_PMA_DIAG_TDESC');
144 END getTestDesc;
145
146 ------------------------------------------------------------
147 -- procedure to report test name back to framework
148 ------------------------------------------------------------
149 PROCEDURE getTestName(name OUT NOCOPY VARCHAR2) IS
150 BEGIN
151 name := BSC_OBJECTIVE_METADATA_SETUP.get_message_name('BSC_PMA_DIAG_TNAME');
152 END getTestName;
153
154
155 ------------------------------------------------------------
156 -- procedure to provide the default parameters for the test case.
157 -- please note the paramters have to be registered through the UI
158 -- before basic tests can be run.
159 --
160 ------------------------------------------------------------
161 PROCEDURE getDefaultTestParams(defaultInputValues OUT NOCOPY JTF_DIAG_INPUTTBL) IS
162 tempInput JTF_DIAG_INPUTTBL;
163 BEGIN
164 tempInput := JTF_DIAGNOSTIC_ADAPTUTIL.initinputtable;
165 tempInput :=
166 JTF_DIAGNOSTIC_ADAPTUTIL.addInput(tempInput,BSC_OBJECTIVE_METADATA_SETUP.get_message_name('BSC_PMA_MODULE_NAME'),'LOV-oracle.apps.bsc.diag.lov.ModuleNameLov');
167 tempInput :=
168 JTF_DIAGNOSTIC_ADAPTUTIL.addInput(tempInput,BSC_OBJECTIVE_METADATA_SETUP.get_message_name('BSC_PMA_CONC_REQ_ID'),NULL);
169 defaultInputValues := tempInput;
170 EXCEPTION
171 WHEN OTHERS THEN
172 defaultInputValues := JTF_DIAGNOSTIC_ADAPTUTIL.initinputtable;
173 END getDefaultTestParams;
174
175 FUNCTION getTestMode RETURN INTEGER IS
176 BEGIN
177 RETURN JTF_DIAGNOSTIC_ADAPTUTIL.ADVANCED_MODE;
178 END;
179 END;