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