DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_CRQUOTE_ASMBLR_PVT

Source


1 PACKAGE BODY OKC_CRQUOTE_ASMBLR_PVT AS
2 /* $Header: OKCRCQKB.pls 120.0 2005/05/25 18:38:07 appldev noship $ */
3 
4 	l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5 
6 --  g_pkg_name     CONSTANT varchar2(100) := 'OKC_CRQUOTE_ASMBLR_PVT';
7 
8   PROCEDURE acn_assemble(
9     p_api_version                  IN NUMBER,
10     p_init_msg_list                IN VARCHAR2 ,
11     x_return_status                OUT NOCOPY VARCHAR2,
12     x_msg_count                    OUT NOCOPY NUMBER,
13     x_msg_data                     OUT NOCOPY VARCHAR2,
14 --
15     p_contract_id                  IN NUMBER,
16     p_quote_number                 IN NUMBER ) IS
17 --
18     l_api_name            CONSTANT VARCHAR2(30) := 'ACN_ASSEMBLE';
19     l_api_version         NUMBER := 1.0;
20     l_init_msg_list       VARCHAR2(1) ;
21     l_return_status varchar2(1) := OKC_API.G_RET_STS_SUCCESS;
22 --
23     CURSOR k_cur IS
24     SELECT k.contract_number contract_number
25 	  ,k.contract_number_modifier contract_number_modifier
26 	  ,k.estimated_amount estimated_amount
27 	  ,k.sts_code sts_code
28 	  ,c.cls_code cls_code
29 	  ,c.code subcls_code
30     FROM  okc_k_headers_b k,
31           okc_subclasses_v c
32     WHERE k.scs_code = c.code
33     AND   k.id = p_contract_id;
34     k_rec k_cur%ROWTYPE;
35 
36     CURSOR acn_cur IS
37     SELECT aae.element_name element_name,
38 	       aae.format_mask format_mask
39     FROM   okc_actions_b acn,
40            okc_action_attributes_b aae
41     WHERE  acn.id = aae.acn_id
42     AND    acn.correlation = 'KCRQUOTE';
43     acn_rec acn_cur%ROWTYPE;
44 
45    l_contract_id              varchar2(120) := to_char(p_contract_id);
46    l_contract_number          varchar2(120);
47    l_contract_number_modifier varchar2(120);
48    l_quote_number             varchar2(120) := to_char(p_quote_number);
49 --
50    l_rec okc_aq_pvt.corrid_rec_typ;
51    l_tbl okc_aq_pvt.msg_tab_typ;
52    i  NUMBER := 1;
53 --
54     BEGIN
55     -- call start_activity to create savepoint, check comptability
56     -- and initialize message list
57        l_return_status := OKC_API.START_ACTIVITY(l_api_name
58                                                 ,l_init_msg_list
59                                                 ,'_PVT'
60                                                 ,x_return_status
61                                                 );
62     -- check if activity started successfully
63        IF l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
64           RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
65        ELSIF l_return_status = OKC_API.G_RET_STS_ERROR THEN
66              RAISE OKC_API.G_EXCEPTION_ERROR;
67        END IF;
68 
69     l_rec.corrid := 'KCRQUOTE';
70  -- check if action is enabled
71   IF OKC_K_SIGN_ASMBLR_PVT.isActionEnabled(l_rec.corrid) = 'Y' THEN
72     l_tbl := okc_aq_pvt.msg_tab_typ();
73 
74     FOR acn_rec IN acn_cur LOOP
75       OPEN k_cur;
76       FETCH k_cur INTO k_rec;
77         IF acn_rec.element_name = 'K_ID' THEN
78           l_tbl.extend;
79           l_tbl(i).element_name := acn_rec.element_name;
80           l_tbl(i).element_value := p_contract_id;
81         ELSIF acn_rec.element_name = 'K_NUMBER' THEN
82           l_tbl.extend;
83           l_tbl(i).element_name := 'K_NUMBER';
84           l_tbl(i).element_value := k_rec.contract_number;
85         ELSIF acn_rec.element_name = 'K_NBR_MOD' THEN
86           l_tbl.extend;
87           l_tbl(i).element_name := 'K_NBR_MOD';
88           l_tbl(i).element_value := k_rec.contract_number_modifier;
89         ELSIF acn_rec.element_name = 'K_CLASS' THEN
90           l_tbl.extend;
91           l_tbl(i).element_name := 'K_CLASS';
92           l_tbl(i).element_value := k_rec.cls_code;
93         ELSIF acn_rec.element_name = 'K_SUBCLASS' THEN
94           l_tbl.extend;
95           l_tbl(i).element_name := 'K_SUBCLASS';
96           l_tbl(i).element_value := k_rec.subcls_code;
97         ELSIF acn_rec.element_name = 'ESTIMATED_AMOUNT' THEN
98           l_tbl.extend;
99           l_tbl(i).element_name := 'ESTIMATED_AMOUNT';
100           l_tbl(i).element_value := k_rec.estimated_amount;
101        ELSIF acn_rec.element_name = 'QUOTE_NUMBER' THEN
102           l_tbl.extend;
103           l_tbl(i).element_name := 'QUOTE_NUMBER';
104           l_tbl(i).element_value := P_QUOTE_NUMBER;
105        END IF;
106        i := i+1;
107       CLOSE k_cur;
108      END LOOP;
109 
110     okc_aq_pvt.send_message(p_api_version   =>  l_api_version
111                             ,x_msg_count     => x_msg_count
112                             ,x_msg_data      => x_msg_data
113                             ,x_return_status => x_return_status
114                             ,p_corrid_rec    => l_rec
115                             ,p_msg_tab       => l_tbl
116                             ,p_queue_name    => okc_aq_pvt.g_event_queue_name
117                             );
118     -- check if activity started successfully
119        IF l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
120           RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
121        ELSIF l_return_status = OKC_API.G_RET_STS_ERROR THEN
122              RAISE OKC_API.G_EXCEPTION_ERROR;
123        END IF;
124 END IF; -- OKC_K_SIGN_ASMBLR_PVT.isActionEnabled
125     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
126 
127     EXCEPTION
128        WHEN OKC_API.G_EXCEPTION_ERROR THEN
129        x_return_status := OKC_API.HANDLE_EXCEPTIONS
130        (l_api_name,
131         G_PKG_NAME,
132         'OKC_API.G_RET_STS_ERROR',
133         x_msg_count,
134         x_msg_data,
135         '_PVT');
136        WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
137        x_return_status := OKC_API.HANDLE_EXCEPTIONS
138        (l_api_name,
139         G_PKG_NAME,
140         'OKC_API.G_RET_STS_UNEXP_ERROR',
141         x_msg_count,
142         x_msg_data,
143         '_PVT');
144        WHEN OTHERS THEN
145        x_return_status := OKC_API.HANDLE_EXCEPTIONS
146        (l_api_name,
147         G_PKG_NAME,
148         'OTHERS',
149         x_msg_count,
150         x_msg_data,
151         '_PVT');
152     END acn_assemble;
153 
154 END OKC_CRQUOTE_ASMBLR_PVT;