DBA Data[Home] [Help]

TYPE BODY: APPS.JTF_DIAG_NOTE

Source


1 TYPE BODY             "JTF_DIAG_NOTE" AS
2 MEMBER FUNCTION CONSTRUCT_NODE RETURN VARCHAR2 IS
3 STR varchar2(20000);
4 BEGIN
5   STR := '<node>';
6   STR := STR || ' <content>' || SELF.CONTENT || '</content>';
7   IF LINK_IDS IS NOT NULL THEN
8    STR := STR || ' <row>';
9    for x in LINK_IDS.FIRST .. LINK_IDS.LAST
10    LOOP
11      STR := STR || '<col>';
12      STR := STR || LINK_IDS(x);
13      STR := STR || '</col>';
14    END LOOP;
15    STR := STR || ' </row>';
16   END IF;
17   IF SELF.HEADING IS NOT NULL THEN
18    STR := STR || ' <heading>' || SELF.HEADING || '</heading>';
19   ELSE
20    STR := STR || ' <heading></heading>';
21   END IF;
22   STR := STR || ' </node>';
23   RETURN STR;
24 END CONSTRUCT_NODE;
25 MEMBER PROCEDURE SET_ADDED_TO_PARENT IS
26 BEGIN
27  SELF.ADDED_TO_PARENT := 1;
28 END SET_ADDED_TO_PARENT;
29 MEMBER PROCEDURE SET_LINK(position in out number, link in OUT NOCOPY JTF_DIAG_LINK) IS
30   STR varchar2(20000);
31   BEGIN
32     IF position > SELF.NO_OF_LINKS THEN
33        RAISE_APPLICATION_ERROR(-20100,'The position provided for the link in the Note content is out of range');
34     END IF;
35     IF ADDED_TO_PARENT <> 1 THEN
36        IF link IS NOT NULL THEN
37         IF link.ADDED_TO_PARENT <> 1 THEN
38           STR := link.CONSTRUCT_NODE;
39           INSERT INTO JTF_DIAGNOSTIC_REPORT
40         (Execution_ID,UI_Node_ID,type,xmldata,parent_node_id)
41         VALUES(SELF.EXEC_ID
42         ,link.UI_Node_ID
43         ,'link'
44         ,xmltype(STR)
45         ,SELF.UI_NODE_ID);
46           link.SET_ADDED_TO_PARENT;
47 	  LINK_IDS(position) := link.UI_NODE_ID;
48        ELSE
49         RAISE_APPLICATION_ERROR(-20100,'The link component cannot be added
50 to the parent component again');
51        END IF;
52      ELSE
53       RAISE_APPLICATION_ERROR(-20100, 'Link component can not be empty');
54      END IF;
55     ELSE
56    RAISE_APPLICATION_ERROR(-20100, 'Link has already been added');
57     END IF;
58 END SET_LINK;
59 
60 MEMBER PROCEDURE SET_HEADING(HEADING VARCHAR2) IS
61 BEGIN
62 IF ADDED_TO_PARENT = 0 THEN
63  IF HEADING is not null then
64   SELF.HEADING := DBMS_XMLGEN.CONVERT(HEADING,0);
65  END IF;
66 ELSE
67  RAISE_APPLICATION_ERROR(-20100, 'Note component has already been added to
68 the report');
69 END IF;
70 END SET_HEADING;
71 END;