DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_CHG_REQ_ASMBLR_PVT

Source


1 PACKAGE BODY OKC_CHG_REQ_ASMBLR_PVT AS
2 /* $Header: OKCRCRAB.pls 120.0 2005/05/25 22:56:25 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_chreq_id		IN NUMBER,
21   p_chreq_date		IN date  )  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 = 'CHREQ_INIT' ;
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 := 'CHREQ_INIT' ;
54 
55  -- check if action is enabled
56  IF OKC_K_SIGN_ASMBLR_PVT.isActionEnabled(l_corrid_rec.corrid) = 'Y' THEN
57 
58 l_msg_tbl := okc_aq_pvt.msg_tab_typ();
59  FOR corr_rec IN cur_corr_csr
60  LOOP
61 
62  IF corr_rec.element_name = 'K_CLASS' THEN
63   l_msg_tbl.extend;
64   l_msg_tbl(i).element_name     := corr_rec.element_name;
65   l_msg_tbl(i).element_value    := P_k_class;
66  ELSIF corr_rec.element_name = 'K_ID' 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_id;
70  ELSIF corr_rec.element_name = 'K_NUMBER' 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_number;
74  ELSIF corr_rec.element_name = 'K_NBR_MOD' 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_nbr_mod;
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 = 'CHREQ_ID' 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_chreq_id;
94  ELSIF corr_rec.element_name = 'CHREQ_DATE' 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_chreq_date;
98   IF corr_rec.format_mask IS NOT NULL THEN
99        l_msg_tbl(i).element_value := to_char(p_chreq_date,
100 		      corr_rec.format_mask);
101   ELSE
102        l_msg_tbl(i).element_value := to_char(p_chreq_date,'DD-MON-YY');
103   END IF;
104  END IF;
105 
106   i := i + 1;
107  END LOOP;
108 
109 
110 
111 
112   OKC_AQ_PUB.send_message(p_api_version     =>1.0
113                          ,x_msg_count       => l_msg_count
114                          ,x_msg_data        => l_msg_data
115                          ,x_return_status   => l_return_status
116                          ,p_corrid_rec      => l_corrid_rec
117                          ,p_msg_tab         => l_msg_tbl
118                          ,p_queue_name      => okc_aq_pvt.g_event_queue_name);
119 
120     IF l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
121         RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
122     ELSIF l_return_status = OKC_API.G_RET_STS_ERROR THEN
123         RAISE OKC_API.G_EXCEPTION_ERROR;
124     END IF;
125 END IF; -- OKC_K_SIGN_ASMBLR_PVT.isActionEnabled
126  OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
127 
128 EXCEPTION
129  WHEN OKC_API.G_EXCEPTION_ERROR THEN
130   x_return_status := OKC_API.HANDLE_EXCEPTIONS
131                        (l_api_name,
132                         G_PKG_NAME,
133                       'OKC_API.G_RET_STS_ERROR',
134                         x_msg_count,
135                         x_msg_data,
136                         '_PROCESS');
137  WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
138   x_return_status := OKC_API.HANDLE_EXCEPTIONS
139                        (l_api_name,
140                         G_PKG_NAME,
141                        'OKC_API.G_RET_STS_UNEXP_ERROR',
142                         x_msg_count,
143                         x_msg_data,
144                         '_PROCESS');
145  WHEN OTHERS THEN
146   x_return_status := OKC_API.HANDLE_EXCEPTIONS
147                        (l_api_name,
148                         G_PKG_NAME,
149                         'OTHERS',
150                         x_msg_count,
151                         x_msg_data,
152                         '_PROCESS');
153 END acn_assemble;
154 
155 END OKC_CHG_REQ_ASMBLR_PVT;