DBA Data[Home] [Help]

PACKAGE BODY: APPS.EGO_DUMMY_SUBSCR_PKG

Source


1 PACKAGE BODY EGO_DUMMY_SUBSCR_PKG AS
2    /* $Header: EGOSBSCRB.pls 120.4 2006/06/30 13:36:52 vkeerthi noship $ */
3 /*  FUNCTION dummy_subscription (P_SUBSCRIPTION_GUID IN RAW,
4                                P_EVENT IN OUT NOCOPY wf_event_t)
5   RETURN VARCHAR2 IS
6     l_param_name    VARCHAR2(240);
7     l_param_value   VARCHAR2(2000);
8     l_param_list    WF_PARAMETER_LIST_T ;
9     l_name_val VARCHAR2(4000);
10     l_error         VARCHAR2(4000);
11   BEGIN
12     l_param_list := p_event.getparameterlist;
13     l_name_val   := ' ';
14     IF l_param_list IS NOT NULL THEN
15       FOR i IN l_param_list.FIRST..l_param_list.LAST LOOP
16         l_param_name  :=  l_param_list(i).getname;
17         l_param_value :=  l_param_list(i).getvalue;
18         IF l_param_name NOT IN ('BES_PAYLOAD_OBJECT','BES_PRIORITY','#MSG_ID')
19 THEN
20           l_name_val    :=  l_name_val ||' '||l_param_name||  ' = '
21 ||l_param_value || ',' ;
22         END IF;
23       END LOOP;
24       INSERT INTO EVENT_SUBSCRIPTION(
25         event_name,
26         event_key,
27         pname_value,
28         dt)
29       VALUES(
30         p_event.getEventName(),
31         p_event.GetEventKey(),
32         l_name_val,
33         sysdate);
34     ELSE
35       INSERT INTO EVENT_SUBSCRIPTION(
36         event_name,
37         event_key,
38         pNAME_value,
39         error_msg,
40         dt)
41       VALUES (
42         p_event.getEventName(),
43         p_event.GetEventKey(),
44         null,
45         'Parameter list is empty',
46         sysdate);
47     END IF;
48   COMMIT;
49   RETURN 'SUCCESS';
50   EXCEPTION WHEN OTHERS THEN
51     l_error := SQLERRM;
52     INSERT INTO EVENT_SUBSCRIPTION(
53       event_name,
54       event_key,
55       pname_value,
56       error_msg,
57       dt)
58     VALUES (
59       p_event.getEventName(),
60       p_event.GetEventKey(),
61       null,
62       'Unexpected Error: '||l_error,
63       sysdate);
64     COMMIT;
65     RETURN 'ERROR';
66   END dummy_subscription;
67 */
68 
69 
70 PROCEDURE SET_EGO_EVENT_INFO(
71           itemtype  IN VARCHAR2,
72           itemkey   IN VARCHAR2,
73           actid     IN NUMBER,
74           funcmode  IN VARCHAR2,
75           result    IN OUT NOCOPY VARCHAR2
76 ) IS
77 
78     l_text_attr_name_tbl   WF_ENGINE.NameTabTyp;
79     l_text_attr_value_tbl  WF_ENGINE.TextTabTyp;
80     I PLS_INTEGER ;
81     l_event_t wf_event_t;
82     l_param_name            VARCHAR2(240);
83     l_param_value           VARCHAR2(1000);
84     l_param_list    wf_parameter_list_t ;
85     l_concat_param_value    VARCHAR2(1000) := '';
86 
87     l_event_key             VARCHAR2(200);
88     l_event_name            VARCHAR2(200);
89 BEGIN
90      IF (funcmode = 'RUN') THEN
91        l_event_t := WF_ENGINE.GetItemAttrEvent(
92                               itemtype        => itemtype,
93                               itemkey         => itemkey,
94                               name            => 'EVENT_MESSAGE' );
95       l_event_key := WF_ENGINE.GetItemAttrText( itemtype
96                                                  , itemkey
97                                                  , 'EVENT_KEY');
98 
99       l_event_name := WF_ENGINE.GetItemAttrText( itemtype
100                                                  , itemkey
101                                                  , 'EVENT_NAME');
102        l_param_list := l_event_t.getparameterlist;
103        IF l_param_list IS NOT NULL THEN
104 
105          FOR i IN l_param_list.FIRST..l_param_list.LAST LOOP
106           l_param_name  :=  l_param_list(i).getname;
107           l_param_value :=  l_param_list(i).getvalue;
108           --Removing all the unnecessary params and taking onl the user-defined attrs.
109             IF (l_param_name NOT IN ('REQUEST_ID','DML_TYPE','ORGANIZATION_ID',
110                 'ORGANIZATION_CODE','INVENTORY_ITEM_ID','MAIL_TO','SUB_GUID',
111                 'CATALOG_ID','CATEGORY_ID','CATEGORY_NAME','CATEGORY_SET_ID',
112                 'CROSS_REFERENCE_TYPE','CROSS_REFERENCE','MANUFACTURER_ID',
113                 'MFG_PART_NUM','ROLE_ID','PARTY_TYPE','PARTY_ID','START_DATE',
114                 'ATTR_GROUP_NAME','EXTENSION_ID')) THEN
115               l_concat_param_value := l_concat_param_value ||'{' ||l_param_list(i).getname ||'==>'||l_param_list(i).getvalue||'}';
116             END IF;
117           END LOOP;
118        END IF;
119 
120        I := 0;
121 
122        I := I + 1;
123        l_text_attr_name_tbl(I)  := 'ITEM_TYPE' ;
124        l_text_attr_value_tbl(I) := itemtype ;
125 
126        I := I + 1;
127        l_text_attr_name_tbl(I)  := 'ITEM_KEY' ;
128        l_text_attr_value_tbl(I) := itemkey ;
129 
130        I := I + 1;
131        l_text_attr_name_tbl(I) := 'EVENT_NAME';
132        l_text_attr_value_tbl(I) := l_event_name;
133 
134        I := I + 1;
135        l_text_attr_name_tbl(I) := 'EVENT_KEY';
136        l_text_attr_value_tbl(I) := l_event_key;
137 
138        --IF l_param_list IS NOT NULL THEN
139           I := I + 1;
140           l_text_attr_name_tbl(I)  := 'PARAM' ;
141           l_text_attr_value_tbl(I) := l_concat_param_value ;
142        --END IF;
143        WF_ENGINE.SetItemAttrTextArray
144        ( itemtype     => itemtype
145        , itemkey      => itemkey
146        , aname        => l_text_attr_name_tbl
147        , avalue       => l_text_attr_value_tbl
148        ) ;
149        result  :=  'COMPLETE';
150        RETURN;
151      END IF;
152      IF (funcmode = 'CANCEL') then
153 
154     -- your cancel code goes here
155        NULL;
156 
157     -- no result needed
158        result := 'COMPLETE';
159        RETURN;
160      END IF;
161   --
162   -- Other execution modes may be created in the future.  Your
163   -- activity will indicate that it does not implement a mode
164   -- by returning null
165   --
166   result := '';
167   RETURN;
168 
169 
170 END;
171 
172 
173   END ego_dummy_subscr_pkg;