DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_KL_STS_CHG_ASMBLR_PVT

Source


1 PACKAGE BODY OKC_KL_STS_CHG_ASMBLR_PVT AS
2 /* $Header: OKCRLSCB.pls 120.0 2005/05/30 04:15:10 appldev noship $ */
3 
4 	l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5 
6 -- action assembler for contract line status change action
7 PROCEDURE acn_assemble(
8   p_api_version          IN NUMBER,
9   p_init_msg_list        IN VARCHAR2 ,
10   x_return_status        OUT NOCOPY VARCHAR2,
11   x_msg_count            OUT NOCOPY NUMBER,
12   x_msg_data             OUT NOCOPY VARCHAR2,
13   p_k_id		 IN NUMBER,
14   p_kl_id		 IN NUMBER,
15   p_k_number		 IN VARCHAR2,
16   p_k_nbr_mod		 IN VARCHAR2,
17   p_kl_number		 IN VARCHAR2,
18   p_kl_cur_sts_code	 IN VARCHAR2,
19   p_kl_cur_sts_type	 IN VARCHAR2,
20   p_kl_pre_sts_code	 IN VARCHAR2,
21   p_kl_pre_sts_type	 IN VARCHAR2,
22   p_kl_source_system_code IN VARCHAR2
23   )  IS
24 
25  l_api_name      CONSTANT VARCHAR2(30) := 'acn_assemble';
26  l_api_version   CONSTANT NUMBER := 1.0;
27  i               NUMBER := 1;
28  l_corrid_rec    okc_aq_pvt.corrid_rec_typ;
29  l_msg_tbl       okc_aq_pvt.msg_tab_typ;
30  l_msg_count     number;
31  l_msg_data      varchar2(1000);
32  l_return_status varchar2(1);
33 
34  CURSOR cur_corr_csr IS
35  SELECT aae.element_name
36 	   ,aae.format_mask format_mask
37    FROM okc_actions_b acn,okc_action_attributes_b aae
38   WHERE acn.id = aae.acn_id
39     AND acn.correlation = 'KL_STS_CHANGE' ;
40 
41 BEGIN
42 
43  l_return_status := OKC_API.START_ACTIVITY
44                     (l_api_name
45                     ,p_init_msg_list
46                     ,'_PROCESS'
47                     ,x_return_status);
48 
49   IF l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
50      RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
51   ELSIF l_return_status = OKC_API.G_RET_STS_ERROR THEN
52      RAISE OKC_API.G_EXCEPTION_ERROR;
53   END IF;
54 
55  l_corrid_rec.corrid := 'KL_STS_CHANGE' ;
56 
57 -- check if action is enabled
58 IF OKC_K_SIGN_ASMBLR_PVT.isActionEnabled(l_corrid_rec.corrid) = 'Y' THEN
59 
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    = 'KL_CUR_STS_CODE' 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_kl_cur_sts_code;
70  ELSIF corr_rec.element_name = 'KL_CUR_STS_TYPE' 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_kl_cur_sts_type;
74  ELSIF corr_rec.element_name = 'K_ID' 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_id;
78  ELSIF corr_rec.element_name = 'KL_ID' 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_kl_id;
82  ELSIF corr_rec.element_name = 'K_NUMBER' 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_number;
86  ELSIF corr_rec.element_name = 'K_NBR_MOD' 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_k_nbr_mod;
90  ELSIF corr_rec.element_name = 'KL_NUMBER' 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_kl_number;
94  ELSIF corr_rec.element_name = 'KL_PRE_STS_CODE' THEN
95   l_msg_tbl.extend;
96   l_msg_tbl(i).element_name     := corr_rec.element_name;
97   l_msg_tbl(i).element_value    := p_kl_pre_sts_code;
98  ELSIF corr_rec.element_name = 'KL_PRE_STS_TYPE' THEN
99   l_msg_tbl.extend;
100   l_msg_tbl(i).element_name     := corr_rec.element_name;
101   l_msg_tbl(i).element_value    := p_kl_pre_sts_type;
102  ELSIF corr_rec.element_name = 'KL_SOURCE_SYSTEM_CODE' THEN
103   l_msg_tbl.extend;
104   l_msg_tbl(i).element_name     := corr_rec.element_name;
105   l_msg_tbl(i).element_value    := p_kl_source_system_code;
106  END IF;
107 
108   i := i + 1;
109  END LOOP;
110 
111 
112 
113 
114   OKC_AQ_PUB.send_message(p_api_version     =>1.0
115                          ,x_msg_count       => l_msg_count
116                          ,x_msg_data        => l_msg_data
117                          ,x_return_status   => l_return_status
118                          ,p_corrid_rec      => l_corrid_rec
119                          ,p_msg_tab         => l_msg_tbl
120                          ,p_queue_name      => okc_aq_pvt.g_event_queue_name);
121 
122     IF l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
123         RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
124     ELSIF l_return_status = OKC_API.G_RET_STS_ERROR THEN
125         RAISE OKC_API.G_EXCEPTION_ERROR;
126     END IF;
127 
128 END IF; -- OKC_K_SIGN_ASMBLR_PVT.isActionEnabled
129  OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
130 EXCEPTION
131  WHEN OKC_API.G_EXCEPTION_ERROR THEN
132   x_return_status := OKC_API.HANDLE_EXCEPTIONS
133                        (l_api_name,
134                         G_PKG_NAME,
135                       'OKC_API.G_RET_STS_ERROR',
136                         x_msg_count,
137                         x_msg_data,
138                         '_PROCESS');
139  WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
140   x_return_status := OKC_API.HANDLE_EXCEPTIONS
141                        (l_api_name,
142                         G_PKG_NAME,
143                        'OKC_API.G_RET_STS_UNEXP_ERROR',
144                         x_msg_count,
145                         x_msg_data,
146                         '_PROCESS');
147  WHEN OTHERS THEN
148   x_return_status := OKC_API.HANDLE_EXCEPTIONS
149                        (l_api_name,
150                         G_PKG_NAME,
151                         'OTHERS',
152                         x_msg_count,
153                         x_msg_data,
154                         '_PROCESS');
155 END acn_assemble;
156 
157 END OKC_KL_STS_CHG_ASMBLR_PVT;