[Home] [Help]
PACKAGE BODY: APPS.IGW_PROP_SPECIAL_REVIEWS_PUB
Source
1 PACKAGE BODY Igw_Prop_Special_Reviews_Pub AS
2 --$Header: igwprevb.pls 115.0 2002/12/19 22:44:07 ashkumar noship $
3
4 ---------------------------------------------------------------------------
5
6 G_PKG_NAME VARCHAR2(30) := 'IGW_PROP_SPECIAL_REVIEWS_PUB';
7
8 ---------------------------------------------------------------------------
9
10 PROCEDURE Create_Prop_Special_Review
11 (
12 p_validate_only IN VARCHAR2,
13 p_commit IN VARCHAR2,
14 p_proposal_number IN VARCHAR2,
15 p_special_review_desc IN VARCHAR2,
16 p_special_review_type_desc IN VARCHAR2,
17 p_application_date IN DATE,
18 p_approval_type_desc IN VARCHAR2,
19 p_protocol_number IN VARCHAR2,
20 p_approval_date IN DATE,
21 p_comments IN VARCHAR2,
22 x_return_status OUT NOCOPY VARCHAR2,
23 x_msg_count OUT NOCOPY NUMBER,
24 x_msg_data OUT NOCOPY VARCHAR2
25 ) IS
26
27 l_api_name CONSTANT VARCHAR2(30) := 'Create_Prop_Special_Review';
28 l_rowid VARCHAR2(60);
29 l_proposal_id IGW_PROPOSALS_ALL.PROPOSAL_ID%TYPE;
30 l_special_review_code IGW_PROP_SPECIAL_REVIEWS.SPECIAL_REVIEW_CODE%TYPE;
31 l_special_review_type IGW_PROP_SPECIAL_REVIEWS.SPECIAL_REVIEW_TYPE%TYPE;
32 l_approval_type_code IGW_PROP_SPECIAL_REVIEWS.APPROVAL_TYPE_CODE%TYPE;
33
34 BEGIN
35
36 /*
37 ** Establish Savepoint for Rollback
38 */
39
40 SAVEPOINT Create_Prop_Special_Review_Pub;
41
42 /*
43 ** Initialize Processing
44 */
45
46 x_return_status := Fnd_Api.G_Ret_Sts_Success;
47
48 Fnd_Msg_Pub.Initialize;
49
50 /*
51 ** Verify Mandatory Inputs. Value-Id Conversions.
52 */
53
54 IF p_proposal_number IS NULL THEN
55
56 Fnd_Message.Set_Name('IGW','IGW_UPLD_MISSING_PARAMETER');
57 Fnd_Message.Set_Token('PARAM_NAME','P_PROPOSAL_NUMBER');
58 Fnd_Msg_Pub.Add;
59
60 ELSE
61
62 Igw_Utils.Get_Proposal_Id
63 (
64 p_context_field => 'PROPOSAL_ID',
65 p_check_id_flag => 'N',
66 p_proposal_number => p_proposal_number,
67 p_proposal_id => l_proposal_id,
68 x_proposal_id => l_proposal_id,
69 x_return_status => x_return_status
70 );
71
72 END IF;
73
74 IF p_special_review_desc IS NULL THEN
75
76 Fnd_Message.Set_Name('IGW','IGW_UPLD_MISSING_PARAMETER');
77 Fnd_Message.Set_Token('PARAM_NAME','P_SPECIAL_REVIEW_DESC');
78 Fnd_Msg_Pub.Add;
79
80 ELSE
81
82 Igw_Utils.Get_Lookup_Code
83 (
84 p_context_field => 'SPECIAL_REVIEW_CODE',
85 p_check_id_flag => 'N',
86 p_lookup_type => 'IGW_SPECIAL_REVIEWS',
87 p_lookup_meaning => p_special_review_desc,
88 p_lookup_code => null,
89 x_lookup_code => l_special_review_code,
90 x_return_status => x_return_status
91 );
92
93 END IF;
94
95 Igw_Utils.Get_Lookup_Code
96 (
97 p_context_field => 'SPECIAL_REVIEW_TYPE',
98 p_check_id_flag => 'N',
99 p_lookup_type => 'IGW_SPECIAL_REVIEW_TYPES',
100 p_lookup_meaning => p_special_review_type_desc,
101 p_lookup_code => null,
102 x_lookup_code => l_special_review_type,
103 x_return_status => x_return_status
104 );
105
106 IF p_approval_type_desc IS NULL THEN
107
108 Fnd_Message.Set_Name('IGW','IGW_UPLD_MISSING_PARAMETER');
109 Fnd_Message.Set_Token('PARAM_NAME','P_APPROVAL_TYPE_DESC');
110 Fnd_Msg_Pub.Add;
111
112 ELSE
113
114 Igw_Utils.Get_Lookup_Code
115 (
116 p_context_field => 'REVIEW_APPROVAL_TYPE',
117 p_check_id_flag => 'N',
118 p_lookup_type => 'IGW_REVIEW_APPROVAL_TYPES',
119 p_lookup_meaning => p_approval_type_desc,
120 p_lookup_code => null,
121 x_lookup_code => l_approval_type_code,
122 x_return_status => x_return_status
123 );
124
125 END IF;
126
127 /*
128 ** Discontinue processing if any error has been encountered during
129 ** the earlier stages
130 */
131
132 IF Fnd_Msg_Pub.Count_Msg > 0 THEN
133
134 RAISE Fnd_Api.G_Exc_Error;
135
136 END IF;
137
138 Igw_Prop_Special_Reviews_Pvt.Create_Prop_Special_Reviews
139 (
140 p_init_msg_list => Fnd_Api.G_True,
141 p_commit => Fnd_Api.G_False,
142 p_validate_only => p_validate_only,
143 x_rowid => l_rowid,
144 p_proposal_id => l_proposal_id,
145 p_proposal_number => null,
146 p_special_review_code => l_special_review_code,
147 p_special_review_desc => p_special_review_desc,
148 p_special_review_type => l_special_review_type,
149 p_special_review_type_desc => p_special_review_type_desc,
150 p_approval_type_code => l_approval_type_code,
151 p_approval_type_desc => p_approval_type_desc,
152 p_protocol_number => p_protocol_number,
153 p_application_date => p_application_date,
154 p_approval_date => p_approval_date,
155 p_comments => p_comments,
156 x_return_status => x_return_status,
157 x_msg_count => x_msg_count,
158 x_msg_data => x_msg_data
159 );
160
161 IF Fnd_Msg_Pub.Count_Msg > 0 THEN
162
163 RAISE Fnd_Api.G_Exc_Error;
164
165 END IF;
166
167 /*
168 ** Commit data if API invoked in commit mode
169 */
170
171 IF Fnd_Api.To_Boolean(p_commit) THEN
172
173 COMMIT;
174
175 END IF;
176
177 EXCEPTION
178
179 WHEN Fnd_Api.G_Exc_Error THEN
180
181 ROLLBACK TO Create_Prop_Special_Review_Pub;
182
183 x_return_status := Fnd_Api.G_Ret_Sts_Error;
184
185 Fnd_Msg_Pub.Count_And_Get
186 (
187 p_encoded => Fnd_Api.G_False,
188 p_count => x_msg_count,
189 p_data => x_msg_data
190 );
191
192 WHEN others THEN
193
194 ROLLBACK TO Create_Prop_Special_Review_Pub;
195
196 x_return_status := Fnd_Api.G_Ret_Sts_Unexp_Error;
197
198 Fnd_Msg_Pub.Add_Exc_Msg
199 (
200 p_pkg_name => G_PKG_NAME,
201 p_procedure_name => l_api_name
202 );
203
204 Fnd_Msg_Pub.Count_And_Get
205 (
206 p_encoded => Fnd_Api.G_False,
207 p_count => x_msg_count,
208 p_data => x_msg_data
209 );
210
211 END Create_Prop_Special_Review;
212
213 ---------------------------------------------------------------------------
214
215 END Igw_Prop_Special_Reviews_Pub;