DBA Data[Home] [Help]

PACKAGE BODY: APPS.AST_COLLTRL_ORDER_PKG

Source


1 PACKAGE BODY ast_colltrl_order_pkg AS
2  /* $Header: astclrqb.pls 115.22 2002/12/05 20:00:50 rramacha ship $ */
3 
4 
5     g_qte_header_rec      ASO_QUOTE_PUB.Qte_Header_Rec_Type;
6     g_qte_line_tbl        ASO_QUOTE_PUB.Qte_Line_Tbl_Type;
7     g_hd_shipment_tbl     ASO_QUOTE_PUB.Shipment_tbl_Type;
8     g_ln_shipment_tbl     ASO_QUOTE_PUB.Shipment_Tbl_Type;
9 
10  PROCEDURE open_order (
11      p_cust_party_id           IN NUMBER
12    , p_cust_account_id         IN NUMBER
13    , p_sold_to_contact_id	 IN NUMBER
14    , p_inv_party_id            IN NUMBER
15    , p_inv_party_site_id       IN NUMBER
16    , p_ship_party_site_id      IN NUMBER
17    , p_source_code             IN VARCHAR2
18    , p_order_type_id           IN NUMBER
19    , p_employee_id             IN NUMBER
20    , p_campaign_id             IN NUMBER
21    , p_quote_header_id         IN NUMBER
22  ) IS
23  BEGIN
24     -- reinitialize the order header record types
25     g_qte_header_rec  := ASO_QUOTE_PUB.G_MISS_QTE_HEADER_REC;
26     g_hd_shipment_tbl := ASO_QUOTE_PUB.G_MISS_Shipment_TBL;
27 
28     -- assign parameters passed to the quote header record
29     g_qte_header_rec.quote_source_code  := p_source_code ;
30     g_qte_header_rec.party_id := p_cust_party_id;
31     g_qte_header_rec.cust_account_id := p_cust_account_id;
32 
33     -- Begin Mod. Raam on 09.15.2001
34     IF p_sold_to_contact_id IS NOT NULL THEN
35       g_qte_header_rec.org_contact_id := p_sold_to_contact_id;
36     END IF;
37     -- End Mod.
38 
39     g_qte_header_rec.invoice_to_party_id := p_inv_party_id;
40     g_qte_header_rec.invoice_to_party_site_id := p_inv_party_site_id;
41     g_qte_header_rec.order_type_id := p_order_type_id;
42     g_qte_header_rec.marketing_source_code_id := p_campaign_id;
43     g_qte_header_rec.employee_person_id := p_employee_id;
44 
45     g_hd_shipment_tbl(1).ship_to_party_site_id := p_ship_party_site_id;
46 
47     -- reinitialize the order line table types
48     g_qte_line_tbl    := ASO_QUOTE_PUB.G_MISS_QTE_LINE_TBL;
49     g_ln_shipment_tbl := ASO_QUOTE_PUB.G_MISS_Shipment_TBL;
50  END open_order;
51 
52  PROCEDURE add_order_line (
53      p_ship_party_id      IN NUMBER
54    , p_ship_party_site_id IN NUMBER
55    , p_inventory_item_id  IN NUMBER
56    , p_quantity           IN NUMBER
57    , p_ship_method_code	 IN VARCHAR2
58    , p_uom_code           IN VARCHAR2
59    , p_line_category_code IN VARCHAR2
60  ) IS
61   l_order_line_ndx NUMBER;
62   l_ship_line_ndx NUMBER;
63  BEGIN
64    l_order_line_ndx := g_qte_line_tbl.COUNT + 1;
65    l_ship_line_ndx := g_ln_shipment_tbl.COUNT + 1;
66 
67    IF l_order_line_ndx = 1 THEN
68      g_qte_line_tbl(l_order_line_ndx).inventory_item_id := p_inventory_item_id;
69      g_qte_line_tbl(l_order_line_ndx).UOM_code := p_uom_code;
70      g_qte_line_tbl(l_order_line_ndx).line_category_code := p_line_category_code;
71    END IF;
72 
73    g_ln_shipment_tbl(l_ship_line_ndx).qte_line_index := 1;
74    g_ln_shipment_tbl(l_ship_line_ndx).quantity := p_quantity;
75    g_ln_shipment_tbl(l_ship_line_ndx).ship_to_party_id := p_ship_party_id;
76    g_ln_shipment_tbl(l_ship_line_ndx).ship_to_party_site_id := p_ship_party_site_id;
77    g_ln_shipment_tbl(l_ship_line_ndx).ship_method_code := p_ship_method_code;
78  END add_order_line;
79 
80  PROCEDURE submit_order (
81      x_return_status            OUT NOCOPY VARCHAR2
82    , x_order_header_rec         OUT NOCOPY ASO_ORDER_INT.Order_Header_rec_type
83    , x_order_line_tbl           OUT NOCOPY ASO_ORDER_INT.Order_Line_tbl_type
84  ) IS
85     l_control_rec      ASO_ORDER_INT.control_rec_type;
86     l_api_ver          NUMBER := 1.0;
87     l_init_msg_list    VARCHAR2(1) := FND_API.G_TRUE;
88     l_commit           VARCHAR2(1) := FND_API.G_TRUE;
89     x_msg_count        NUMBER;
90     x_msg_data         VARCHAR2(2000);
91  BEGIN
92     l_control_rec.book_flag := FND_API.G_TRUE;
93     l_control_rec.calculate_price := FND_API.G_TRUE;
94 
95     -- initialize the message stack
96     FND_MSG_PUB.Initialize;
97 
98     ASO_ORDER_INT.create_order(
99          p_api_version_number    => l_api_ver
100        , p_init_msg_list         => l_init_msg_list
101        , p_commit                => l_commit
102        , p_qte_rec               => g_qte_header_rec
103        , p_qte_line_tbl          => g_qte_line_tbl
104        , p_header_shipment_tbl   => g_hd_shipment_tbl
105 
106        , p_line_shipment_tbl     => g_ln_shipment_tbl
107        , p_control_rec           => l_control_rec
108        , x_order_header_rec      => x_order_header_rec
109        , x_order_line_tbl        => x_order_line_tbl
110        , x_return_status         => x_return_status
111        , x_msg_count             => x_msg_count
112        , x_msg_data              => x_msg_data
113     );
114 
115  END submit_order;
116  -- ***************************************************
117  PROCEDURE start_request(l_request_id    OUT NOCOPY NUMBER,
118 				     l_return_status OUT NOCOPY VARCHAR2,
119 				     l_msg_count     OUT NOCOPY NUMBER,
120 				     l_msg_data	 OUT NOCOPY VARCHAR2) IS
121    l_api_version	NUMBER := 1.0;
122  BEGIN
123    -- Start the fulfillment request. The output request_id must be passed
124    -- to all subsequent calls made for this request.
125    JTF_FM_REQUEST_GRP.STart_Request
126    (
127     p_api_version   => l_api_version,
128     x_return_status => l_return_status,
129     x_msg_count     => l_msg_count,
130     x_msg_data      => l_msg_data,
131     x_request_id    => l_request_id
132     );
133  END start_request;
134  -- ***************************************************
135  PROCEDURE xml_request(l_content_id    IN  NUMBER,
136 		             l_request_type  IN  VARCHAR2,
137 		             l_user_note	    IN  VARCHAR2,
138 		             l_email	    IN  VARCHAR2,
139 		             l_party_id	    IN  NUMBER,
140 		             l_return_status OUT NOCOPY VARCHAR2,
141 		             l_content_xml   OUT NOCOPY VARCHAR2,
142 		             l_msg_count     OUT NOCOPY NUMBER,
143 		             l_msg_data      OUT NOCOPY VARCHAR2,
144 		             l_request_id    IN  NUMBER) IS
145  BEGIN
146    xml_request(p_content_id    => l_content_id,
147 		     p_request_type	 => l_request_type,
148 		     p_media_type	 => 'EMAIL',
149 		     p_user_note	 => l_user_note,
150 		     p_email		 => l_email,
151                p_fax		 => NULL,
152                p_printer	      => NULL,
153 		     p_party_id 	 => l_party_id,
154 		     x_return_status => l_return_status,
155 		     x_content_xml	 => l_content_xml,
156 		     x_msg_count	 => l_msg_count,
157 		     x_msg_data	 => l_msg_data,
158 		     p_request_id	 => l_request_id);
159  END xml_request;
160 
161  PROCEDURE xml_request(p_content_id IN  NUMBER,
162 		       p_request_type     IN  VARCHAR2,
163 		       p_media_type       IN  VARCHAR2,
164 		       p_user_note        IN  VARCHAR2,
165 		       p_email            IN  VARCHAR2,
166                  p_fax              IN  VARCHAR2,
167                  p_printer          IN  VARCHAR2,
168 		       p_party_id         IN  NUMBER,
169 		       x_return_status    OUT NOCOPY VARCHAR2,
170 		       x_content_xml      OUT NOCOPY VARCHAR2,
171 		       x_msg_count        OUT NOCOPY NUMBER,
172 		       x_msg_data         OUT NOCOPY VARCHAR2,
173 		       p_request_id       IN  NUMBER) IS
174 
175   l_api_version	NUMBER := 1.0;
176   --
177   l_content_nm		VARCHAR2(100);
178   l_document_type	VARCHAR2(150);
179   l_bind_var		JTF_FM_REQUEST_GRP.G_VARCHAR_TBL_TYPE ;
180   l_bind_val		JTF_FM_REQUEST_GRP.G_VARCHAR_TBL_TYPE ;
181   l_bind_var_type	JTF_FM_REQUEST_GRP.G_VARCHAR_TBL_TYPE ;
182  BEGIN
183    -- Initialize the parameters for Master Document.
184    --NewChange
185    IF p_party_id IS NOT NULL THEN
186      l_bind_var(1)      := 'id';
187      l_bind_var_type(1) := 'NUMBER';
188      l_bind_val(1)      := p_party_id;
189    END IF;
190    --l_document_type    := 'zip';
191 
192    -- This call gets the XML string for the content(Master Document) with
193    -- the parameters as defined above
194    JTF_FM_REQUEST_GRP.Get_Content_XML
195    (
196     p_api_version 	=> l_api_version,
197     p_content_id	=> p_content_id,
198     p_content_nm	=> l_content_nm,
199     --p_document_type => l_document_type,
200     p_media_type	=> p_media_type,
201     p_printer		=> p_printer,
202     p_email		=> p_email,
203     --p_file_path     => l_file_path,
204     p_fax           => p_fax,
205     p_user_note	=> p_user_note,
206     p_content_type	=> p_request_type,
207     p_bind_var		=> l_bind_var,
208     p_bind_val		=> l_bind_val,
209     p_bind_var_type	=> l_bind_var_type,
210     p_request_id	=> p_request_id,
211     x_content_xml	=> x_content_xml,
212     x_return_status => x_return_status,
213     x_msg_count	=> x_msg_count,
214     x_msg_data		=> x_msg_data
215    );
216  END xml_request;
217  -- ***************************************************
218  PROCEDURE submit_request(l_commit 	    IN  VARCHAR2,
219 					 l_return_status   OUT NOCOPY VARCHAR2,
220 					 l_msg_count	    OUT NOCOPY NUMBER,
221 					 l_msg_data	    OUT NOCOPY VARCHAR2,
222 					 l_subject	    IN  VARCHAR2,
223 					 l_source_code_id  IN  NUMBER,
224 					 l_party_id	    IN  NUMBER,
225 					 l_user_id	    IN  NUMBER,
226 					 l_extended_header IN  VARCHAR2,
227 					 l_content_xml	    IN  VARCHAR2,
228 					 l_request_id	    IN  NUMBER) IS
229    l_api_version	NUMBER := 1.0;
230  BEGIN
231 
232    -- Submit the fulfillment request
233    JTF_FM_REQUEST_GRP.Submit_Request
234    ( p_api_version     => l_api_version,
235      p_commit		   => l_commit,
236      x_return_status   => l_return_status,
237      x_msg_count	   => l_msg_count,
238      x_msg_data	   => l_msg_data,
239      p_subject		   => l_subject,
240 	p_source_code_id  => l_source_code_id,
241      p_party_id	   => l_party_id,
242      p_user_id		   => l_user_id,
243      p_queue_response  => FND_API.G_TRUE,
244      p_extended_header => l_extended_header,
245      p_content_xml	   => l_content_xml,
246      p_request_id	   => l_request_id
247     );
248  END submit_request;
249  -- ***************************************************
250 END ast_colltrl_order_pkg;