[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;