1 TYPE BODY "JTF_DIAG_SECTION" AS
2 MEMBER FUNCTION CONSTRUCT_NODE RETURN VARCHAR2 IS
3 STR varchar2(20000);
4 BEGIN
5 STR := '<node>';
6 STR := STR || ' <heading>' || SELF.HEADING || '</heading>';
7 STR := STR || ' </node>';
8 RETURN STR;
9 END CONSTRUCT_NODE;
10 MEMBER PROCEDURE ADD_MESSAGE(message IN OUT NOCOPY JTF_DIAG_MESSAGE) IS
11 STR VARCHAR2(30000);
12 BEGIN
13 IF ADDED_TO_PARENT <> 1 THEN
14 IF message IS NOT NULL THEN
15 IF message.ADDED_TO_PARENT <> 1 THEN
16 STR := message.CONSTRUCT_NODE;
17 INSERT INTO JTF_DIAGNOSTIC_REPORT
18 (Execution_ID,UI_Node_ID,type,xmldata,parent_node_id)
19 VALUES(SELF.EXEC_ID
20 ,message.UI_Node_ID
21 ,'message'
22 ,xmltype(STR)
23 ,SELF.UI_NODE_ID);
24 message.SET_ADDED_TO_PARENT;
25 ELSE
26 RAISE_APPLICATION_ERROR(-20100,'The Message component cannot
27 be added to the section again');
28 END IF;
29 ELSE
30 RAISE_APPLICATION_ERROR(-20100,'Component message added to the
31 report is null');
32 END IF;
33 ELSE
34 RAISE_APPLICATION_ERROR(-20100,'Section'|| SELF.HEADING ||' has been
35 added to the report');
36 END IF;
37 END ADD_MESSAGE;
38 MEMBER PROCEDURE ADD_TABLE(tbl IN OUT NOCOPY JTF_DIAG_TABLE) IS
39 STR VARCHAR2(30000);
40 BEGIN
41 IF ADDED_TO_PARENT <> 1 THEN
42 IF tbl IS NOT NULL THEN
43 IF tbl.ADDED_TO_PARENT <> 1 THEN
44 IF tbl.QUERY_BASED = 1 THEN
45 tbl.CONSTRUCT_TABLE_FROM_QUERY;
46 END IF;
47 STR := tbl.CONSTRUCT_NODE;
48 INSERT INTO JTF_DIAGNOSTIC_REPORT
49 (Execution_ID,UI_Node_ID,type,xmldata,parent_node_id)
50 VALUES(SELF.EXEC_ID
51 ,tbl.UI_Node_ID
52 ,'table'
53 ,xmltype(STR)
54 ,SELF.UI_NODE_ID);
55 tbl.SET_ADDED_TO_PARENT;
56 ELSE
57 RAISE_APPLICATION_ERROR(-20100,'The Table component cannot be
58 added to the section again');
59 END IF;
60 ELSE
61 RAISE_APPLICATION_ERROR(-20100,'Component table added to the
62 report is null');
63 END IF;
64 ELSE
65 RAISE_APPLICATION_ERROR(-20100,'Section'|| SELF.HEADING ||' has been
66 added to the report');
67 END IF;
68 END ADD_TABLE;
69 MEMBER PROCEDURE ADD_TABLE(tbl IN OUT NOCOPY JTF_DIAG_TABLE, sql_query IN OUT
70 NOCOPY VARCHAR2)
71 IS
72 HIDE_SHOW JTF_DIAG_HIDE_SHOW;
73 NODE_ID NUMBER;
74 BEGIN
75 ADD_TABLE(tbl);
76 IF sql_query IS NOT NULL THEN
77 select JTF_DIAGNOSTIC_REPORT_S.nextval into node_id from dual;
78 HIDE_SHOW := JTF_DIAG_HIDE_SHOW(EXEC_ID,
79 node_id,DBMS_XMLGEN.CONVERT(sql_query,0),'Hide query','Show query',0);
80 ADD_HIDE_SHOW(HIDE_SHOW);
81 END IF;
82 END ADD_TABLE;
83 MEMBER PROCEDURE ADD_TREE(tree IN OUT NOCOPY JTF_DIAG_TREE) IS
84 STR VARCHAR2(30000);
85 BEGIN
86 IF ADDED_TO_PARENT <> 1 THEN
87 IF tree IS NOT NULL THEN
88 IF tree.ADDED_TO_PARENT <> 1 THEN
89 STR := tree.CONSTRUCT_NODE;
90 INSERT INTO JTF_DIAGNOSTIC_REPORT
91 (Execution_ID,UI_Node_ID,type,xmldata,parent_node_id)
92 VALUES(SELF.EXEC_ID
93 ,tree.UI_Node_ID
94 ,'tree'
95 ,xmltype(STR)
96 ,SELF.UI_NODE_ID);
97 tree.SET_ADDED_TO_PARENT;
98 ELSE
99 RAISE_APPLICATION_ERROR(-20100,'The Tree component cannot be
100 added to the section again');
101 END IF;
102 ELSE
103 RAISE_APPLICATION_ERROR(-20100,'Component tree added to the
104 report is null');
105 END IF;
106 ELSE
107 RAISE_APPLICATION_ERROR(-20100,'Section'|| SELF.HEADING ||' has been
108 added to the report');
109 END IF;
110 END ADD_TREE;
111 MEMBER PROCEDURE ADD_FORM(form IN OUT NOCOPY JTF_DIAG_FORM) IS
112 STR VARCHAR2(30000);
113 form_data JTF_DIAG_FORMDATA;
114 BEGIN
115 IF ADDED_TO_PARENT <> 1 THEN
116 IF form IS NOT NULL THEN
117 IF form.ADDED_TO_PARENT <> 1 THEN
118 STR := form.CONSTRUCT_NODE;
119 form_data := form.GET_FORM_DATA;
120 INSERT INTO JTF_DIAGNOSTIC_REPORT
121 (Execution_ID,UI_Node_ID,type,xmldata,parent_node_id)
122 VALUES(SELF.EXEC_ID
123 ,form.UI_Node_ID
124 ,'form'
125 ,xmltype(STR)
126 ,SELF.UI_NODE_ID);
127 STR := form_data.CONSTRUCT_NODE;
128 INSERT INTO JTF_DIAGNOSTIC_REPORT
129 (Execution_ID,UI_Node_ID,type,xmldata,parent_node_id)
130 VALUES(SELF.EXEC_ID
131 ,form_data.UI_Node_ID
132 ,'formData'
133 ,xmltype(STR)
134 ,form.UI_NODE_ID);
135 form.SET_ADDED_TO_PARENT;
136 ELSE
137 RAISE_APPLICATION_ERROR(-20100,'The Form component cannot be
138 added to the section again');
139 END IF;
140 ELSE
141 RAISE_APPLICATION_ERROR(-20100,'Component form added to the
142 report is null');
143 END IF;
144 ELSE
145 RAISE_APPLICATION_ERROR(-20100,'Section'|| SELF.HEADING ||' has been
146 added to the report');
147 END IF;
148 END ADD_FORM;
149 MEMBER PROCEDURE ADD_HIDE_SHOW(hide_show IN OUT NOCOPY JTF_DIAG_HIDE_SHOW) IS
150 STR VARCHAR2(30000);
151 BEGIN
152 IF ADDED_TO_PARENT <> 1 THEN
153 IF hide_show IS NOT NULL THEN
154 IF hide_show.ADDED_TO_PARENT <> 1 THEN
155 STR := hide_show.CONSTRUCT_NODE;
156 INSERT INTO JTF_DIAGNOSTIC_REPORT
157 (Execution_ID,UI_Node_ID,type,xmldata,parent_node_id)
158 VALUES(SELF.EXEC_ID
159 ,hide_show.UI_Node_ID
160 ,'hideShow'
161 ,xmltype(STR)
162 ,SELF.UI_NODE_ID);
163 hide_show.SET_ADDED_TO_PARENT;
164 ELSE
165 RAISE_APPLICATION_ERROR(-20100,'The HideShow component cannot be
166 added to the section again');
167 END IF;
168 ELSE
169 RAISE_APPLICATION_ERROR(-20100,'Component hide show added to the
170 report is null');
171 END IF;
172 ELSE
173 RAISE_APPLICATION_ERROR(-20100,'Section'|| SELF.HEADING ||' has been
174 added to the report');
175 END IF;
176 END ADD_HIDE_SHOW;
177 MEMBER PROCEDURE ADD_RAW_TEXT(raw_text IN OUT NOCOPY JTF_DIAG_RAW_TEXT) IS
178 STR VARCHAR2(30000);
179 BEGIN
180 IF ADDED_TO_PARENT <> 1 THEN
181 IF raw_text IS NOT NULL THEN
182 IF raw_text.ADDED_TO_PARENT <> 1 THEN
183 STR := raw_text.CONSTRUCT_NODE;
184 INSERT INTO JTF_DIAGNOSTIC_REPORT
185 (Execution_ID,UI_Node_ID,type,xmldata,parent_node_id)
186 VALUES(SELF.EXEC_ID
187 ,raw_text.UI_Node_ID
188 ,'rawText'
189 ,xmltype(STR)
190 ,SELF.UI_NODE_ID);
191 raw_text.SET_ADDED_TO_PARENT;
192 ELSE
193 RAISE_APPLICATION_ERROR(-20100,'The RawText component cannot be
194 added to the section again');
195 END IF;
196 ELSE
197 RAISE_APPLICATION_ERROR(-20100,'Component raw text added to the
198 report is null');
199 END IF;
200 ELSE
201 RAISE_APPLICATION_ERROR(-20100,'Section'|| SELF.HEADING ||' has been
202 added to the report');
203 END IF;
204 END ADD_RAW_TEXT;
205 MEMBER PROCEDURE ADD_LINK(link IN OUT NOCOPY JTF_DIAG_LINK) IS
206 STR VARCHAR2(30000);
207 BEGIN
208 IF ADDED_TO_PARENT <> 1 THEN
209 IF link IS NOT NULL THEN
210 IF link.ADDED_TO_PARENT <> 1 THEN
211 STR := link.CONSTRUCT_NODE;
212 INSERT INTO JTF_DIAGNOSTIC_REPORT
213 (Execution_ID,UI_Node_ID,type,xmldata,parent_node_id)
214 VALUES(SELF.EXEC_ID
215 ,link.UI_Node_ID
216 ,'link'
217 ,xmltype(STR)
218 ,SELF.UI_NODE_ID);
219 link.SET_ADDED_TO_PARENT;
220 ELSE
221 RAISE_APPLICATION_ERROR(-20100,'The Link component cannot be
222 added to the section again');
223 END IF;
224 ELSE
225 RAISE_APPLICATION_ERROR(-20100,'Component link added to the
226 report is null');
227 END IF;
228 ELSE
229 RAISE_APPLICATION_ERROR(-20100,'Section'|| SELF.HEADING ||' has been
230 added to the report');
231 END IF;
232 END ADD_LINK;
233 MEMBER PROCEDURE ADD_SECTION(section IN OUT NOCOPY JTF_DIAG_SECTION) IS
234 STR VARCHAR2(30000);
235 BEGIN
236 IF ADDED_TO_PARENT <> 1 THEN
237 IF section IS NOT NULL THEN
238 IF section.ADDED_TO_PARENT <> 1 THEN
239 STR := section.CONSTRUCT_NODE;
240 INSERT INTO JTF_DIAGNOSTIC_REPORT
241 (Execution_ID,UI_Node_ID,type,xmldata,parent_node_id)
242 VALUES(SELF.EXEC_ID
243 ,section.UI_Node_ID
244 ,'section'
245 ,xmltype(STR)
246 ,SELF.UI_NODE_ID);
247 section.SET_ADDED_TO_PARENT;
248 ELSE
249 RAISE_APPLICATION_ERROR(-20100,'The Section component cannot be
250 added to the parent section again');
251 END IF;
252 ELSE
253 RAISE_APPLICATION_ERROR(-20100,'Section component added to the
254 parent section is null');
255 END IF;
256 ELSE
257 RAISE_APPLICATION_ERROR(-20100,'Section'|| SELF.HEADING ||' has been
258 added to the report');
259 END IF;
260 END ADD_SECTION;
261
262 MEMBER PROCEDURE ADD_NOTE(note IN OUT NOCOPY JTF_DIAG_NOTE) IS
263 STR VARCHAR2(30000);
264 BEGIN
265 IF ADDED_TO_PARENT <> 1 THEN
266 IF note IS NOT NULL THEN
267 IF note.ADDED_TO_PARENT <> 1 THEN
268 STR := note.CONSTRUCT_NODE;
269 INSERT INTO JTF_DIAGNOSTIC_REPORT
270 (Execution_ID,UI_Node_ID,type,xmldata,parent_node_id)
271 VALUES(SELF.EXEC_ID
272 ,note.UI_Node_ID
273 ,'note'
274 ,xmltype(STR)
275 ,SELF.UI_NODE_ID);
276 note.SET_ADDED_TO_PARENT;
277 ELSE
278 RAISE_APPLICATION_ERROR(-20100,'The Note component cannot be
279 added to the section again');
280 END IF;
281 ELSE
282 RAISE_APPLICATION_ERROR(-20100,'Component Note added to the
283 report is null');
284 END IF;
285 ELSE
286 RAISE_APPLICATION_ERROR(-20100,'Section'|| SELF.HEADING ||' has been
287 added to the report');
288 END IF;
289 END ADD_NOTE;
290
291 MEMBER PROCEDURE SET_ADDED_TO_PARENT IS
292 BEGIN
293 SELF.ADDED_TO_PARENT := 1;
294 END SET_ADDED_TO_PARENT;
295 END;