[Home] [Help]
PACKAGE BODY: APPS.OKC_CRORDER_ASMBLR_PVT
Source
1 PACKAGE BODY OKC_CRORDER_ASMBLR_PVT AS
2 /* $Header: OKCRCOKB.pls 120.0 2005/05/25 19:30:12 appldev noship $ */
3
4 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5
6 -- g_pkg_name CONSTANT varchar2(100) := 'OKC_CRORDER_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_order_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 = 'KCRORDER';
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_order_number varchar2(120) := to_char(p_order_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 := 'KCRORDER';
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 = 'ORDER_NUMBER' THEN
102 l_tbl.extend;
103 l_tbl(i).element_name := 'ORDER_NUMBER';
104 l_tbl(i).element_value := P_ORDER_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; -- 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_CRORDER_ASMBLR_PVT;