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