DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_CHG_WF_EVENT_PKG

Source


1 PACKAGE BODY CS_CHG_WF_EVENT_PKG  AS
2 /* $Header: cswfchgb.pls 115.0 2003/08/25 22:53:42 cnemalik noship $ */
3 
4 
5   PROCEDURE Raise_SubmitCharges_Event(
6         p_api_version            IN    NUMBER,
7         p_init_msg_list          IN    VARCHAR2 DEFAULT fnd_api.g_false,
8         p_commit                 IN    VARCHAR2 DEFAULT fnd_api.g_false,
9         p_validation_level       IN    NUMBER   DEFAULT fnd_api.g_valid_level_full,
10         p_Event_Code             IN    VARCHAR2,
11         p_estimate_detail_id     IN    VARCHAR2,
12         p_USER_ID                IN    NUMBER  DEFAULT FND_GLOBAL.USER_ID,
13         p_RESP_ID                IN    NUMBER,
14         p_RESP_APPL_ID           IN    NUMBER,
15         p_est_detail_rec         IN    CS_Charge_Details_PUB.Charges_Rec_Type,
16         p_wf_process_id          IN    NUMBER,
17         p_owner_id		 IN    NUMBER,
18         p_wf_manual_launch	 IN    VARCHAR2 ,
19         x_wf_process_id          OUT   NOCOPY NUMBER,
20         x_return_status          OUT   NOCOPY VARCHAR2,
21         x_msg_count              OUT   NOCOPY NUMBER,
22         x_msg_data               OUT   NOCOPY VARCHAR2) IS
23 
24     l_dummy             	VARCHAR2(240);
25     l_initiator_role    	VARCHAR2(100);
26     l_param_list		wf_parameter_list_t;
27     l_event_key			VARCHAR2(240);
28     l_event_id     		NUMBER;
29     l_return_status             VARCHAR2(1);
30     l_msg_count                 NUMBER;
31     l_msg_data                  VARCHAR2(2000);
32     out_wf_process_id           NUMBER;
33     l_INVALID_EVENT_ARGS	EXCEPTION;
34     l_INVALID_EVENT_CODE	EXCEPTION;
35     l_API_ERROR			EXCEPTION;
36 
37 
38     BEGIN
39 
40 
41     -- Initialize return status to SUCCESS
42     x_return_status := FND_API.G_RET_STS_SUCCESS;
43 
44     IF ( p_estimate_detail_id IS NULL) THEN
45 
46       RAISE l_INVALID_EVENT_ARGS;
47 
48     ELSIF (p_wf_process_id IS NOT NULL) THEN
49       --Do NOTHING. WE DON't HAVE TO RAISE a business event since this
50       --is just a recursive call to update
51       --the workflow process id when a workflow is launched.
52 	null;
53 
54     ELSE
55 
56        --  Derive Role from User ID
57       IF (p_USER_ID IS NOT NULL) THEN
58         CS_WF_AUTO_NTFY_UPDATE_PKG.get_fnd_user_role
59              ( p_fnd_user_id        => p_USER_ID,
60                x_role_name          => l_initiator_role,
61                x_role_display_name  => l_dummy );
62       END IF;
63 
64 
65       /******************************************************************
66         This section sets the Event Parameter List. These parameters are
67         converted to workflow item attributes.
68       *******************************************************************/
69 
70       wf_event.AddParameterToList(p_name => 'ESTIMATE_DETAIL_ID',
71     			      p_value => p_est_detail_rec.Estimate_Detail_Id,
72     			      p_parameterlist => l_param_list);
73 
74       wf_event.AddParameterToList(p_name => 'INCIDENT_ID',
75     			      p_value => p_est_detail_rec.Incident_ID,
76     			      p_parameterlist => l_param_list);
77 
78       wf_event.AddParameterToList(p_name => 'USER_ID',
79     			      p_value => p_USER_ID,
80     			      p_parameterlist => l_param_list);
81 
82       wf_event.AddParameterToList(p_name => 'RESP_ID',
83 			      p_value => p_RESP_ID,
84 			      p_parameterlist => l_param_list);
85 
86       wf_event.AddParameterToList(p_name => 'RESP_APPL_ID',
87 			      p_value => p_RESP_APPL_ID,
88 			      p_parameterlist => l_param_list);
89 
90       wf_event.AddParameterToList(p_name => 'INITIATOR_ROLE',
91 			      p_value => l_initiator_role,
92 			      p_parameterlist => l_param_list);
93 
94       wf_event.AddParameterToList(p_name => 'MANUAL_LAUNCH',
95 			      p_value => p_wf_manual_launch,
96 			      p_parameterlist => l_param_list);
97 
98       wf_event.AddParameterToList(p_name => 'ORG_ID',
99 			      p_value => p_est_detail_rec.org_id,
100 			      p_parameterlist => l_param_list);
101 
102       wf_event.AddParameterToList(p_name => 'ORDER_HEADER_ID',
103 			      p_value => p_est_detail_rec.order_header_id,
104 			      p_parameterlist => l_param_list);
105 
106       wf_event.AddParameterToList(p_name => 'ORDER_LINE_ID',
107 			      p_value => p_est_detail_rec.order_line_id,
108 			      p_parameterlist => l_param_list);
109 
110       wf_event.AddParameterToList(p_name => 'ORDER_LINE_TYPE_ID',
111 			      p_value => p_est_detail_rec.line_type_id,
112 			      p_parameterlist => l_param_list);
113 
114       wf_event.AddParameterToList(p_name => 'ORIGINAL_SOURCE_CODE',
115 			      p_value => p_est_detail_rec.original_source_code,
116 			      p_parameterlist => l_param_list);
117 
118       wf_event.AddParameterToList(p_name => 'SOURCE_CODE',
119                               p_value => p_est_detail_rec.source_code,
120                               p_parameterlist => l_param_list);
121 
122 
123       BEGIN
124 
125       wf_event.AddParameterToList(p_name => 'WF_ADMINISTRATOR',
126 			        p_value => l_initiator_role,
127 			        p_parameterlist => l_param_list);
128       EXCEPTION
129         WHEN NO_DATA_FOUND THEN
130           null;
131       END;
132 
133      END IF;
134 
135 
136         IF (p_Event_Code = 'SUBMIT_CHARGES') THEN
137 
138           SELECT cs_wf_process_id_s.nextval
139           INTO l_event_id
140           FROM dual;
141           -- Construct the unique event key
142           l_event_key := p_Estimate_Detail_Id ||'-'||to_char(l_event_id) || '-EVT';
143 
144           --RAISE the WF Business event.
145 
146           wf_event.raise(p_event_name => 'oracle.apps.cs.chg.Charges.submitted',
147                          p_event_key  => l_event_key,
148                          p_parameters => l_param_list);
149         l_param_list.DELETE;
150 
151         ELSE
152 
153         RAISE l_INVALID_EVENT_CODE;
154 
155       END IF;
156 
157       -- Standard check of p_commit
158       IF FND_API.To_Boolean(p_commit) THEN
159          COMMIT WORK;
160       END IF;
161 
162 END Raise_SubmitCharges_Event;
163 
164 
165 
166 
167 END CS_CHG_WF_EVENT_PKG;