DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_K_RENEW_ASMBLR_PVT

Source


1 PACKAGE BODY OKC_K_RENEW_ASMBLR_PVT AS
2 /* $Header: OKCRKRAB.pls 120.0 2005/05/26 09:53:21 appldev noship $ */
3 
4 	l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5 
6 PROCEDURE acn_assemble(
7   p_api_version       IN NUMBER,
8   p_init_msg_list     IN VARCHAR2 ,
9   x_return_status     OUT NOCOPY VARCHAR2,
10   x_msg_count         OUT NOCOPY NUMBER,
11   x_msg_data          OUT NOCOPY VARCHAR2,
12 
13   p_k_class		IN VARCHAR2,
14   p_k_nbr_mod		IN VARCHAR2,
15   p_k_number		IN VARCHAR2,
16   p_k_subclass		IN VARCHAR2,
17   p_k_status_code		IN VARCHAR2,
18   p_estimated_amount		IN NUMBER,
19   p_new_k_end_date		IN DATE,
20   p_new_k_id		IN NUMBER,
21   p_new_k_start_date		IN DATE,
22   p_original_k_end_date		IN DATE,
23   p_original_kid		IN NUMBER,
24   p_original_k_start_date		IN DATE  )  IS
25 
26  l_api_name     CONSTANT VARCHAR2(30) := 'acn_assemble';
27  l_api_version   CONSTANT NUMBER := 1.0;
28  i               NUMBER := 1;
29  l_corrid_rec    okc_aq_pvt.corrid_rec_typ;
30  l_msg_tbl       okc_aq_pvt.msg_tab_typ;
31  l_msg_count     number;
32  l_msg_data      varchar2(1000);
33  l_return_status varchar2(1);
34 
35  CURSOR cur_corr_csr IS
36  SELECT aae.element_name
37 	   ,aae.format_mask format_mask
38    FROM okc_actions_b acn,okc_action_attributes_b aae
39   WHERE acn.id = aae.acn_id
40     AND acn.correlation = 'KRENEW' ;
41 
42 BEGIN
43 
44  l_return_status := OKC_API.START_ACTIVITY
45                     (l_api_name
46                     ,p_init_msg_list
47                     ,'_PROCESS'
48                     ,x_return_status);
49 
50   IF l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
51      RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
52   ELSIF l_return_status = OKC_API.G_RET_STS_ERROR THEN
53      RAISE OKC_API.G_EXCEPTION_ERROR;
54   END IF;
55 
56  l_corrid_rec.corrid := 'KRENEW' ;
57 
58 -- check if action is enabled
59 IF OKC_K_SIGN_ASMBLR_PVT.isActionEnabled(l_corrid_rec.corrid) = 'Y' THEN
60 
61 
62 l_msg_tbl := okc_aq_pvt.msg_tab_typ();
63  FOR corr_rec IN cur_corr_csr
64  LOOP
65 
66  IF corr_rec.element_name = 'K_CLASS' THEN
67   l_msg_tbl.extend;
68   l_msg_tbl(i).element_name     := corr_rec.element_name;
69   l_msg_tbl(i).element_value    := P_k_class;
70  ELSIF corr_rec.element_name = 'K_NBR_MOD' THEN
71    l_msg_tbl.extend;
72   l_msg_tbl(i).element_name    := corr_rec.element_name;
73   l_msg_tbl(i).element_value   := P_k_nbr_mod;
74  ELSIF corr_rec.element_name = 'K_NUMBER' THEN
75    l_msg_tbl.extend;
76   l_msg_tbl(i).element_name    := corr_rec.element_name;
77   l_msg_tbl(i).element_value   := P_k_number;
78  ELSIF corr_rec.element_name = 'K_SUBCLASS' THEN
79    l_msg_tbl.extend;
80   l_msg_tbl(i).element_name    := corr_rec.element_name;
81   l_msg_tbl(i).element_value   := P_k_subclass;
82  ELSIF corr_rec.element_name = 'K_STATUS_CODE' THEN
83    l_msg_tbl.extend;
84   l_msg_tbl(i).element_name    := corr_rec.element_name;
85   l_msg_tbl(i).element_value   := P_k_status_code;
86  ELSIF corr_rec.element_name = 'ESTIMATED_AMOUNT' THEN
87    l_msg_tbl.extend;
88   l_msg_tbl(i).element_name    := corr_rec.element_name;
89   l_msg_tbl(i).element_value   := P_estimated_amount;
90  ELSIF corr_rec.element_name = 'NEW_K_END_DATE' THEN
91    l_msg_tbl.extend;
92   l_msg_tbl(i).element_name    := corr_rec.element_name;
93   --l_msg_tbl(i).element_value   := P_new_k_end_date;
94   IF corr_rec.format_mask IS NOT NULL THEN
95        l_msg_tbl(i).element_value := to_char(p_new_k_end_date,
96 		      corr_rec.format_mask);
97   ELSE
98        l_msg_tbl(i).element_value := to_char(p_new_k_end_date,'DD-MON-YY');
99   END IF;
100  ELSIF corr_rec.element_name = 'NEW_K_ID' THEN
101    l_msg_tbl.extend;
102   l_msg_tbl(i).element_name    := corr_rec.element_name;
103   l_msg_tbl(i).element_value   := P_new_k_id;
104  ELSIF corr_rec.element_name = 'NEW_K_START_DATE' THEN
105    l_msg_tbl.extend;
106   l_msg_tbl(i).element_name    := corr_rec.element_name;
107   --l_msg_tbl(i).element_value   := P_new_k_start_date;
108   IF corr_rec.format_mask IS NOT NULL THEN
109        l_msg_tbl(i).element_value := to_char(p_new_k_start_date,
110 		      corr_rec.format_mask);
111   ELSE
112        l_msg_tbl(i).element_value := to_char(p_new_k_start_date,'DD-MON-YY');
113   END IF;
114  ELSIF corr_rec.element_name = 'ORIGINAL_K_END_DATE' THEN
115    l_msg_tbl.extend;
116   l_msg_tbl(i).element_name    := corr_rec.element_name;
117   --l_msg_tbl(i).element_value   := P_original_k_end_date;
118   IF corr_rec.format_mask IS NOT NULL THEN
119        l_msg_tbl(i).element_value := to_char(p_original_k_end_date,
120 		      corr_rec.format_mask);
121   ELSE
122        l_msg_tbl(i).element_value := to_char(p_original_k_end_date,'DD-MON-YY');
123   END IF;
124 -- san this change done becuase of bug1352109.
125 --The wrong attribute ORIGINAL_KID was defined in 'KRENEW" action whereas the action assembler was
126 --expecting K_ID
127 --ELSIF corr_rec.element_name = 'ORIGINAL_KID' THEN
128  ELSIF corr_rec.element_name = 'K_ID' THEN
129    l_msg_tbl.extend;
130   l_msg_tbl(i).element_name    := corr_rec.element_name;
131   l_msg_tbl(i).element_value   := P_original_kid;
132  ELSIF corr_rec.element_name = 'ORIGINAL_K_START_DATE' THEN
133    l_msg_tbl.extend;
134   l_msg_tbl(i).element_name    := corr_rec.element_name;
135   --l_msg_tbl(i).element_value   := P_original_k_start_date;
136   IF corr_rec.format_mask IS NOT NULL THEN
137        l_msg_tbl(i).element_value := to_char(p_original_k_start_date,
138 		      corr_rec.format_mask);
139   ELSE
140        l_msg_tbl(i).element_value := to_char(p_original_k_start_date,'DD-MON-YY');
141   END IF;
142  END IF;
143 
144   i := i + 1;
145  END LOOP;
146 
147 
148 
149 
150   OKC_AQ_PUB.send_message(p_api_version     =>1.0
151                          ,x_msg_count       => l_msg_count
152                          ,x_msg_data        => l_msg_data
153                          ,x_return_status   => l_return_status
154                          ,p_corrid_rec      => l_corrid_rec
155                          ,p_msg_tab         => l_msg_tbl
156                          ,p_queue_name      => okc_aq_pvt.g_event_queue_name);
157 
158     IF l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
159         RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
160     ELSIF l_return_status = OKC_API.G_RET_STS_ERROR THEN
161         RAISE OKC_API.G_EXCEPTION_ERROR;
162     END IF;
163 END IF; -- OKC_K_SIGN_ASMBLR_PVT.isActionEnabled
164  OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
165 
166 EXCEPTION
167  WHEN OKC_API.G_EXCEPTION_ERROR THEN
168   x_return_status := OKC_API.HANDLE_EXCEPTIONS
169                        (l_api_name,
170                         G_PKG_NAME,
171                       'OKC_API.G_RET_STS_ERROR',
172                         x_msg_count,
173                         x_msg_data,
174                         '_PROCESS');
175  WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
176   x_return_status := OKC_API.HANDLE_EXCEPTIONS
177                        (l_api_name,
178                         G_PKG_NAME,
179                        'OKC_API.G_RET_STS_UNEXP_ERROR',
180                         x_msg_count,
181                         x_msg_data,
182                         '_PROCESS');
183  WHEN OTHERS THEN
184   x_return_status := OKC_API.HANDLE_EXCEPTIONS
185                        (l_api_name,
186                         G_PKG_NAME,
187                         'OTHERS',
188                         x_msg_count,
189                         x_msg_data,
190                         '_PROCESS');
191 END acn_assemble;
192 
193 END OKC_K_RENEW_ASMBLR_PVT;