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