1 Package OKC_OC_INT_KTO_PVT AUTHID CURRENT_USER AS
2 /* $Header: OKCRKTOS.pls 120.0 2005/05/25 18:42:22 appldev noship $ */
3
4 g_rlt_typ_oh CONSTANT VARCHAR2(30) := 'OKX_ORDERHEAD';
5 g_rlt_typ_qh CONSTANT VARCHAR2(30) := 'OKX_QUOTEHEAD';
6 g_rlt_cod_osk CONSTANT VARCHAR2(30) := 'ORDERSHIPSCONTRACT';
7 g_rlt_cod_kfo CONSTANT VARCHAR2(30) := 'CONTRACTFORORDER';
8 g_rlt_cod_ktq CONSTANT VARCHAR2(30) := 'CONTRACTISTERMSOFQUOTE';
9 g_rlt_cod_knq CONSTANT VARCHAR2(30) := 'CONTRACTNEGOTIATESQUOTE';
10 g_rlt_type_osc CONSTANT VARCHAR2(30) := 'COREORDERSSERVICECONTRACT'; -- K(service)-K(sales) relationship
11 g_rlt_typ_ql CONSTANT VARCHAR2(30) := 'OKX_QUOTELINE';
12 g_rlt_typ_ol CONSTANT VARCHAR2(30) := 'OKX_ORDERLINE';
13 g_aso_op_code_create CONSTANT VARCHAR2(30) := 'CREATE';
14 g_okc_model_item CONSTANT VARCHAR2(30) := 'TOP_MODEL_LINE';
15 g_okc_base_item CONSTANT VARCHAR2(30) := 'TOP_BASE_LINE';
16 g_okc_config_item CONSTANT VARCHAR2(30) := 'CONFIG';
17 g_okc_service_item CONSTANT VARCHAR2(30) := 'SRV';
18 g_aso_model_item CONSTANT VARCHAR2(30) := 'MDL';
19 g_aso_config_item CONSTANT VARCHAR2(30) := 'CFG';
20 g_aso_service_item CONSTANT VARCHAR2(30) := 'SRV';
21 --
22 -- Global variables
23 --
24 l_contract_number okc_k_headers_b.contract_number%TYPE;
25 l_contract_number_modifier okc_k_headers_b.contract_number_modifier%TYPE;
26 l_order_number okx_order_headers_v.order_number%TYPE;
27
28
29 -------------------------------------------------------------------------------
30 -- Procedure: create_order_from_k
31 -- Version: 1.0
32 -- Purpose: Create an order from a contract by populating quote
33 -- input records from a contract as the initial
34 -- stage.
35 -- Provides process 2.1 in data flow diagram in HLD.
36 -- Create Relationships from ordering contract to order
37 -- May also create subject-to relationship from order
38 -- to master contract if ordering contract is subject
39 -- to a master contract
40 -- Calls ASO_ORDER_INT.CREATE_ORDER to create the order
41 --
42 -- In Parameters: p_contract_id Contract for which to create order
43 -- p_rel_type Relationship type used to decide on
44 -- which kind of order to create
45 -- Out Parameters: x_order_id Id of created order
46 --
47
48 PROCEDURE create_order_from_k( p_api_version IN NUMBER
49 ,p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE
50 ,x_return_status OUT NOCOPY VARCHAR2
51 ,x_msg_count OUT NOCOPY NUMBER
52 ,x_msg_data OUT NOCOPY VARCHAR2
53 --
54 ,p_contract_id IN okc_k_headers_b.ID%TYPE
55 ,p_rel_type IN okc_k_rel_objs.rty_code%TYPE DEFAULT OKC_API.g_miss_char
56 --
57 ,p_trace_mode IN VARCHAR2 DEFAULT OKC_API.G_FALSE
58 ,x_order_id OUT NOCOPY okx_order_headers_v.id1%TYPE
59 );
60
61 -- ---------------------------------------------------------------------------
62 -- Procedure: create_k_relationships
63 -- Version: 1.0
64 -- Purpose: 1. Creates a relationship between the related sales
65 -- contract and the new order.
66 -- This is done at the header and line levels.
67 -- 2. Create the relationships between the related sales
68 -- contract and the new service contract (created from
69 -- the original order).
70 -- This is done at the header and line levels.
71 --
72 -- In Parameters: p_api_version API version (to be initialized to 1)
73 -- p_init_msg_list Flag to reset the error message stack
74 -- p_sales_contract_id Sales Contract header id as
75 -- created from Quote header id
76 -- p_service_contract_id Service Contract header id as
77 -- created from Order header id
78 -- p_quote_id Quote header id
79 -- p_quote_line_tab Quote line ids (PL/SQL table)
80 -- p_order_id Order header id as created from
81 -- Quote header id
82 -- p_order_line_tab Order line ids (PL/SQL table)
83 --
84 -- Out Parameters: x_return_status Final status of the O-K relationship
85 -- creation API:
86 -- OKC_API.G_RET_STS_SUCCESS
87 -- OKC_API.G_RET_STS_ERROR
88 -- OKC_API.G_RET_STS_UNEXP_ERROR
89
90 PROCEDURE create_k_relationships(p_api_version IN NUMBER DEFAULT OKC_API.G_MISS_NUM
91 ,p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE
92 ,p_sales_contract_id IN OKC_K_HEADERS_B.ID%TYPE DEFAULT OKC_API.G_MISS_NUM
93 ,p_service_contract_id IN OKC_K_HEADERS_B.ID%TYPE DEFAULT OKC_API.G_MISS_NUM
94 ,p_quote_id IN OKX_QUOTE_HEADERS_V.ID1%TYPE DEFAULT OKC_API.G_MISS_NUM
95 ,p_quote_line_tab IN OKC_OC_INT_PUB.OKC_QUOTE_LINE_TAB DEFAULT OKC_OC_INT_PUB.G_MISS_QL_TAB
96 ,p_order_id IN OKX_ORDER_HEADERS_V.ID1%TYPE DEFAULT OKC_API.G_MISS_NUM
97 ,p_order_line_tab IN OKC_OC_INT_PUB.OKC_ORDER_LINE_TAB DEFAULT OKC_OC_INT_PUB.G_MISS_OL_TAB
98 ,x_return_status OUT NOCOPY VARCHAR2
99 ,x_msg_count OUT NOCOPY NUMBER
100 ,x_msg_data OUT NOCOPY VARCHAR2
101 );
102 END OKC_OC_INT_KTO_PVT;