DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_K_TERM_ASMBLR_PVT

Source


1 PACKAGE BODY OKC_K_TERM_ASMBLR_PVT AS
2 /* $Header: OKCRKTAB.pls 120.0 2005/05/26 09:27:24 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_id		IN NUMBER,
15   p_k_number		IN VARCHAR2,
16   p_k_nbr_mod		IN VARCHAR2,
17   p_k_subclass		IN VARCHAR2,
18   p_k_status_code		IN VARCHAR2,
19   p_estimated_amount		IN NUMBER,
20   p_term_date		IN DATE,
21   p_term_reason		IN VARCHAR2  )  IS
22 
23  l_api_name     CONSTANT VARCHAR2(30) := 'acn_assemble';
24  l_api_version   CONSTANT NUMBER := 1.0;
25  i               NUMBER := 1;
26  l_corrid_rec    okc_aq_pvt.corrid_rec_typ;
27  l_msg_tbl       okc_aq_pvt.msg_tab_typ;
28  l_msg_count     number;
29  l_msg_data      varchar2(1000);
30  l_return_status varchar2(1);
31 
32  CURSOR cur_corr_csr IS
33  SELECT aae.element_name
34 	   ,aae.format_mask format_mask
35    FROM okc_actions_b acn,okc_action_attributes_b aae
36   WHERE acn.id = aae.acn_id
37     AND acn.correlation = 'KTERM' ;
38 
39 BEGIN
40 
41  l_return_status := OKC_API.START_ACTIVITY
42                     (l_api_name
43                     ,p_init_msg_list
44                     ,'_PROCESS'
45                     ,x_return_status);
46 
47   IF l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
48      RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
49   ELSIF l_return_status = OKC_API.G_RET_STS_ERROR THEN
50      RAISE OKC_API.G_EXCEPTION_ERROR;
51   END IF;
52 
53  l_corrid_rec.corrid := 'KTERM' ;
54 
55 -- check if action is enabled
56 IF OKC_K_SIGN_ASMBLR_PVT.isActionEnabled(l_corrid_rec.corrid) = 'Y' THEN
57 
58 
59 l_msg_tbl := okc_aq_pvt.msg_tab_typ();
60  FOR corr_rec IN cur_corr_csr
61  LOOP
62 
63  IF corr_rec.element_name = 'K_CLASS' THEN
64   l_msg_tbl.extend;
65   l_msg_tbl(i).element_name     := corr_rec.element_name;
66   l_msg_tbl(i).element_value    := P_k_class;
67  ELSIF corr_rec.element_name = 'K_ID' THEN
68    l_msg_tbl.extend;
69   l_msg_tbl(i).element_name    := corr_rec.element_name;
70   l_msg_tbl(i).element_value   := P_k_id;
71  ELSIF corr_rec.element_name = 'K_NUMBER' THEN
72    l_msg_tbl.extend;
73   l_msg_tbl(i).element_name    := corr_rec.element_name;
74   l_msg_tbl(i).element_value   := P_k_number;
75  ELSIF corr_rec.element_name = 'K_NBR_MOD' THEN
76    l_msg_tbl.extend;
77   l_msg_tbl(i).element_name    := corr_rec.element_name;
78   l_msg_tbl(i).element_value   := P_k_nbr_mod;
79  ELSIF corr_rec.element_name = 'K_SUBCLASS' THEN
80    l_msg_tbl.extend;
81   l_msg_tbl(i).element_name    := corr_rec.element_name;
82   l_msg_tbl(i).element_value   := P_k_subclass;
83  ELSIF corr_rec.element_name = 'K_STATUS_CODE' THEN
84    l_msg_tbl.extend;
85   l_msg_tbl(i).element_name    := corr_rec.element_name;
86   l_msg_tbl(i).element_value   := P_k_status_code;
87  ELSIF corr_rec.element_name = 'ESTIMATED_AMOUNT' THEN
88    l_msg_tbl.extend;
89   l_msg_tbl(i).element_name    := corr_rec.element_name;
90   l_msg_tbl(i).element_value   := P_estimated_amount;
91  ELSIF corr_rec.element_name = 'TERM_DATE' THEN
92    l_msg_tbl.extend;
93   l_msg_tbl(i).element_name    := corr_rec.element_name;
94   --l_msg_tbl(i).element_value   := P_term_date;
95   IF corr_rec.format_mask IS NOT NULL THEN
96        l_msg_tbl(i).element_value := to_char(p_term_date,
97 		      corr_rec.format_mask);
98   ELSE
99        l_msg_tbl(i).element_value := to_char(p_term_date,'DD-MON-YY');
100   END IF;
101  ELSIF corr_rec.element_name = 'TERM_REASON' THEN
102    l_msg_tbl.extend;
103   l_msg_tbl(i).element_name    := corr_rec.element_name;
104   l_msg_tbl(i).element_value   := P_term_reason;
105  END IF;
106 
107   i := i + 1;
108  END LOOP;
109 
110 
111 
112 
113   OKC_AQ_PUB.send_message(p_api_version     =>1.0
114                          ,x_msg_count       => l_msg_count
115                          ,x_msg_data        => l_msg_data
116                          ,x_return_status   => l_return_status
117                          ,p_corrid_rec      => l_corrid_rec
118                          ,p_msg_tab         => l_msg_tbl
119                          ,p_queue_name      => okc_aq_pvt.g_event_queue_name);
120 
121     IF l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
122         RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
123     ELSIF l_return_status = OKC_API.G_RET_STS_ERROR THEN
124         RAISE OKC_API.G_EXCEPTION_ERROR;
125     END IF;
126 END IF; -- OKC_K_SIGN_ASMBLR_PVT.isActionEnabled
127  OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
128 
129 EXCEPTION
130  WHEN OKC_API.G_EXCEPTION_ERROR THEN
131   x_return_status := OKC_API.HANDLE_EXCEPTIONS
132                        (l_api_name,
133                         G_PKG_NAME,
134                       'OKC_API.G_RET_STS_ERROR',
135                         x_msg_count,
136                         x_msg_data,
137                         '_PROCESS');
138  WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
139   x_return_status := OKC_API.HANDLE_EXCEPTIONS
140                        (l_api_name,
141                         G_PKG_NAME,
142                        'OKC_API.G_RET_STS_UNEXP_ERROR',
143                         x_msg_count,
144                         x_msg_data,
145                         '_PROCESS');
146  WHEN OTHERS THEN
147   x_return_status := OKC_API.HANDLE_EXCEPTIONS
148                        (l_api_name,
149                         G_PKG_NAME,
150                         'OTHERS',
151                         x_msg_count,
152                         x_msg_data,
153                         '_PROCESS');
154 END acn_assemble;
155 
156 END OKC_K_TERM_ASMBLR_PVT;