[Home] [Help]
PACKAGE BODY: APPS.MSC_WS_SNO
Source
1 PACKAGE BODY MSC_WS_SNO AS
2 /* $Header: MSCWSNOB.pls 120.8.12010000.1 2008/05/02 19:09:18 appldev ship $ */
3
4 g_ErrorCode VARCHAR2(9);
5
6 PROCEDURE GENERATE_SNO_MODEL(
7 processId OUT NOCOPY NUMBER,
8 status OUT NOCOPY VARCHAR2,
9 userId IN NUMBER,
10 respId IN NUMBER,
11 planId IN NUMBER,
12 solveOnServer IN VARCHAR2
13 ) IS
14 l_String VARCHAR2(100);
15 l_PlanName VARCHAR2(100);
16 l_Number NUMBER;
17 l_Result BOOLEAN;
18 BEGIN
19 -- check user name , responsibility and form function
20 -- bpel flow has trouble to validate function, comment out it right now.
21 -- VALIDATE_USER_RESP_FUNC(l_String, userId, respId, 'MSC_FNDRSRUN_LAUNCH_SNO_PLAN' );
22 MSC_WS_COMMON.VALIDATE_USER_RESP(l_String, userId, respId);
23 IF (l_String <> 'OK') THEN
24 processId := -1;
25 status := l_String;
26 RETURN;
27 END IF;
28
29 -- check the plan
30 BEGIN
31 SELECT COMPILE_DESIGNATOR INTO l_PlanName
32 FROM MSC_PLANS
33 WHERE PLAN_ID = planId and PLAN_TYPE = 6;
34 EXCEPTION WHEN no_data_found THEN
35 processId := -1;
36 status := 'INVALID_PLANID';
37 RETURN;
38 WHEN others THEN
39 raise;
40 END;
41
42
43 -- Now, submit the conc. program to run
44 l_Number := fnd_request.submit_request(
45 'MSC',
46 'MSCSCPSNO',
47 NULL, -- description
48 NULL, -- start_time
49 FALSE, -- sub_request
50 l_PlanName,
51 solveOnServer
52 );
53 IF (l_Number = 0) THEN
54 processId := -1;
55 status := 'Failed '||fnd_message.get;
56 --status := 'ERROR_SUBMIT';
57 ELSE
58 processId := l_Number;
59 status := 'SUCCESS';
60 END IF;
61
62 EXCEPTION
63 WHEN others THEN
64 processId := -1;
65 status := g_ErrorCode;
66
67 END GENERATE_SNO_MODEL;
68
69 PROCEDURE GENERATE_SNO_MODEL_PUBLIC (
70 processId OUT NOCOPY NUMBER,
71 status OUT NOCOPY VARCHAR2,
72 UserName IN VARCHAR2,
73 RespName IN VARCHAR2,
74 RespApplName IN VARCHAR2,
75 SecurityGroupName IN VARCHAR2,
76 Language IN VARCHAR2,
77 planId IN NUMBER,
78 solveOnServer IN VARCHAR2
79 ) AS
80 userid number;
81 respid number;
82 l_String VARCHAR2(30);
83 error_tracking_num number;
84 l_SecutirtGroupId NUMBER;
85 BEGIN
86 error_tracking_num :=2010;
87 MSC_WS_COMMON.GET_PERMISSION_IDS(l_String, userid, respid, l_SecutirtGroupId, UserName, RespName, RespApplName, SecurityGroupName, Language);
88 IF (l_String <> 'OK') THEN
89 Status := l_String;
90 RETURN;
91 END IF;
92
93 error_tracking_num :=2030;
94 MSC_WS_COMMON.VALIDATE_USER_RESP_FUNC(l_String, userid, respid, 'MSC_FNDRSRUN_LAUNCH_SNO_PLAN',l_SecutirtGroupId);
95 IF (l_String <> 'OK') THEN
96 Status := l_String;
97 RETURN;
98 END IF;
99 error_tracking_num :=2040;
100
101 GENERATE_SNO_MODEL ( PROCESSID,
102 Status,
103 userId ,
104 respid,
105 planId,
106 solveOnServer );
107
108
109
110 EXCEPTION
111 WHEN others THEN
112 status := 'ERROR_UNEXPECTED_'||error_tracking_num;
113
114 return;
115 END GENERATE_SNO_MODEL_PUBLIC;
116
117 PROCEDURE PUBLISH_SNO_PLAN (
118 processId OUT NOCOPY NUMBER,
119 status OUT NOCOPY VARCHAR2,
120 userId IN NUMBER,
121 respId IN NUMBER,
122 planId IN NUMBER,
123 appProfile IN VARCHAR2
124 ) IS
125 l_String VARCHAR2(100);
126 l_PlanName VARCHAR2(100);
127 l_Number NUMBER;
128 BEGIN
129 -- check user name and responsibility
130 -- VALIDATE_USER_RESP_FUNC(l_String, userId, respId, 'MSC_FNDRSRUN_LAUNCH_SNO_PLAN' );
131 MSC_WS_COMMON.VALIDATE_USER_RESP(l_String, userId, respId);
132
133 IF (l_String <> 'OK') THEN
134 processId := -1;
135 status := l_String;
136 RETURN;
137 END IF;
138
139 -- check profile
140 IF ( appProfile <> 'SCRM' AND appProfile <> 'SOP') THEN
141 processId := -1;
142 status := 'INVALID_PROFILE';
143 RETURN;
144 END IF;
145
146 -- check the plan
147 BEGIN
148 SELECT COMPILE_DESIGNATOR INTO l_PlanName
149 FROM MSC_PLANS
150 WHERE PLAN_ID = planId and PLAN_TYPE = 6;
151 EXCEPTION WHEN no_data_found THEN
152 processId := -1;
153 status := 'INVALID_PLANID';
154 RETURN;
155 WHEN others THEN
156 raise;
157 END;
158
159
160 -- Now, submit the conc. program to run
161 l_Number := fnd_request.submit_request(
162 'MSC',
163 'MSCSNOPUBLISH',
164 NULL, -- description
165 NULL, -- start_time
166 FALSE, -- sub_request
167 planId, -- plan id
168 appProfile, -- app profile (SOP/SCRM)
169 'N', -- zip option (not used)
170 'Y' -- server mode
171 );
172 IF (l_Number = 0) THEN
173 processId := -1;
174 status := 'Failed '||fnd_message.get;
175 --status := 'ERROR_SUBMIT';
176 ELSE
177 processId := l_Number;
178 status := 'SUCCESS';
179 END IF;
180
181 EXCEPTION
182 WHEN others THEN
183 processId := -1;
184 status := g_ErrorCode;
185
186 END PUBLISH_SNO_PLAN;
187
188 PROCEDURE PUBLISH_SNO_PLAN_PUBLIC (
189 processId OUT NOCOPY NUMBER,
190 status OUT NOCOPY VARCHAR2,
191 UserName IN VARCHAR2,
192 RespName IN VARCHAR2,
193 RespApplName IN VARCHAR2,
194 SecurityGroupName IN VARCHAR2,
195 Language IN VARCHAR2,
196 planId IN NUMBER,
197 appProfile IN VARCHAR2
198 ) AS
199 userid number;
200 respid number;
201 l_String VARCHAR2(30);
202 error_tracking_num number;
203 l_SecutirtGroupId NUMBER;
204 BEGIN
205 error_tracking_num :=2010;
206 MSC_WS_COMMON.GET_PERMISSION_IDS(l_String, userid, respid, l_SecutirtGroupId, UserName, RespName, RespApplName, SecurityGroupName, Language);
207 IF (l_String <> 'OK') THEN
208 Status := l_String;
209 RETURN;
210 END IF;
211
212
213 error_tracking_num :=2030;
214 MSC_WS_COMMON.VALIDATE_USER_RESP_FUNC(l_String, userid, respid, 'MSC_FNDRSRUN_LAUNCH_SNO_PLAN',l_SecutirtGroupId);
215 IF (l_String <> 'OK') THEN
216 Status := l_String;
217 RETURN;
218 END IF;
219
220 error_tracking_num :=2040;
221
222 PUBLISH_SNO_PLAN ( processid,Status, userId , respid, planId,
223 appProfile );
224
225
226
227 EXCEPTION
228 WHEN others THEN
229 status := 'ERROR_UNEXPECTED_'||error_tracking_num;
230
231 return;
232 END PUBLISH_SNO_PLAN_PUBLIC;
233
234
235 END MSC_WS_SNO;