1 PACKAGE okc_cfg_pub AUTHID CURRENT_USER as
2 /* $Header: OKCPCFGS.pls 120.0 2005/05/26 09:25:54 appldev noship $ */
3
4 -- ---------------------------------------------------------------------------
5 -- RECORD : au_rec_type
6 -- PURPOSE : The au record/table structure will instantiate any
7 -- config related Contract Line information that is
8 -- obtained from Authoring form OKCAUDET.fmx.
9 -- ---------------------------------------------------------------------------
10 TYPE au_rec_type IS RECORD (
11 id NUMBER := FND_API.G_MISS_NUM,
12 cle_id NUMBER := FND_API.G_MISS_NUM,
13 dnz_chr_id NUMBER := FND_API.G_MISS_NUM,
14 config_hdr_id NUMBER := FND_API.G_MISS_NUM,
15 config_rev_nbr NUMBER := FND_API.G_MISS_NUM,
16 qty NUMBER := FND_API.G_MISS_NUM,
17 uom_code VARCHAR2(3) := FND_API.G_MISS_CHAR,
18 config_complete_yn VARCHAR2(3) := FND_API.G_MISS_CHAR,
19 config_valid_yn VARCHAR2(3) := FND_API.G_MISS_CHAR,
20 inventory_item_id VARCHAR2(100):= FND_API.G_MISS_CHAR,
21 config_cre_date DATE := FND_API.G_MISS_DATE,
22 line_number VARCHAR2(30) := FND_API.G_MISS_CHAR,
23 ctx_org VARCHAR2(100):= FND_API.G_MISS_CHAR,
24 start_date DATE := FND_API.G_MISS_DATE,
25 end_date DATE := FND_API.G_MISS_DATE,
26 currency_code VARCHAR2(15) := FND_API.G_MISS_CHAR,
27 lse_id NUMBER := FND_API.G_MISS_NUM,
28 price_negotiated NUMBER := FND_API.G_MISS_NUM,
29 hdr_estimated_amt NUMBER := FND_API.G_MISS_NUM,
30 hdr_price_list_id NUMBER := FND_API.G_MISS_NUM,
31 item_jtot_obj_code VARCHAR2(30) := FND_API.G_MISS_CHAR,
32 item_object1_id1 VARCHAR2(40) := FND_API.G_MISS_CHAR,
33 item_object1_id2 VARCHAR2(200):= FND_API.G_MISS_CHAR
34 );
35
36 TYPE au_tbl_type IS TABLE OF au_rec_type
37 INDEX BY BINARY_INTEGER;
38
39 -- ---------------------------------------------------------------------------
40 -- RECORD : config_rec_type
41 -- PURPOSE : The config record/table structure will be used
42 -- to instantiate any config related detailed information
43 -- that is obtained from Oracle Configurator schema.
44 -- ---------------------------------------------------------------------------
45 TYPE config_rec_type IS RECORD (
46 config_hdr_id NUMBER := FND_API.G_MISS_NUM,
47 config_rev_nbr NUMBER := FND_API.G_MISS_NUM,
48 config_item_id NUMBER := FND_API.G_MISS_NUM,
49 parent_config_item_id NUMBER := FND_API.G_MISS_NUM,
50 inventory_item_id NUMBER := FND_API.G_MISS_NUM,
51 organization_id NUMBER := FND_API.G_MISS_NUM,
52 component_code VARCHAR2(1200) := FND_API.G_MISS_CHAR,
53 quantity NUMBER := FND_API.G_MISS_NUM,
54 uom_code VARCHAR2(3) := FND_API.G_MISS_CHAR,
55 operation VARCHAR2(10) := FND_API.G_MISS_CHAR );
56
57 TYPE config_tbl_type IS TABLE OF config_rec_type
58 INDEX BY BINARY_INTEGER;
59
60 -- ---------------------------------------------------------------------------
61 -- RECORD : cz_track_rec_type
62 -- PURPOSE : This record/table structure will be used
63 -- to keep track of the config related detailed information
64 -- that is obtained from Oracle Configurator schema along
65 -- with the new contract line ids including parent ids. The
66 -- model tree is correspondingly created as contract lines.
67 -- ---------------------------------------------------------------------------
68 TYPE cz_track_rec_type IS RECORD (
69 config_item_id NUMBER := FND_API.G_MISS_NUM,
70 parent_config_item_id NUMBER := FND_API.G_MISS_NUM,
71 inventory_item_id NUMBER := FND_API.G_MISS_NUM,
72 component_code VARCHAR2(1200) := FND_API.G_MISS_CHAR,
73 id NUMBER := FND_API.G_MISS_NUM,
74 chr_id NUMBER := FND_API.G_MISS_NUM,
75 cle_id NUMBER := FND_API.G_MISS_NUM,
76 dnz_chr_id NUMBER := FND_API.G_MISS_NUM,
77 top_model_line_id NUMBER := FND_API.G_MISS_NUM,
78 config_hdr_id NUMBER := FND_API.G_MISS_NUM,
79 config_rev_nbr NUMBER := FND_API.G_MISS_NUM,
80 organization_id NUMBER := FND_API.G_MISS_NUM,
81 line_index NUMBER := FND_API.G_MISS_NUM );
82
83 TYPE cz_track_tbl_type IS TABLE OF cz_track_rec_type
84 INDEX BY BINARY_INTEGER;
85
86 -- ---------------------------------------------------------------------------
87 -- TYPE : CHRV,CLEV,CIMV
88 -- PURPOSE : Type cast for the Contract header,line and
89 -- contract items tables. Usage can be in this API
90 -- and/or the forms library OKCAUCFG.pld
91 -- ---------------------------------------------------------------------------
92 SUBTYPE chrv_tbl_type IS OKC_CONTRACT_PUB.chrv_tbl_type;
93 SUBTYPE chrv_rec_type IS OKC_CONTRACT_PUB.chrv_rec_type;
94
95 SUBTYPE clev_tbl_type IS OKC_CONTRACT_PUB.clev_tbl_type;
96 SUBTYPE clev_rec_type IS OKC_CONTRACT_PUB.clev_rec_type;
97
98 SUBTYPE cimv_rec_type IS OKC_CONTRACT_ITEM_PUB.cimv_rec_type;
99 SUBTYPE cimv_tbl_type IS OKC_CONTRACT_ITEM_PUB.cimv_tbl_type;
100
101
102 -- ---------------------------------------------------------------------------
103 -- FUNCTION : cle_config_check
104 -- PURPOSE : To check whether the contract configuration exists
105 -- in the okc_k_lines_v Returns Y or N.
106 -- Default return value = N
107 -- ---------------------------------------------------------------------------
108 FUNCTION cle_config_check ( p_line_id IN NUMBER,
109 p_config_hdr_id IN NUMBER,
110 p_config_rev_nbr IN NUMBER)
111 RETURN VARCHAR2;
112
113 -- ---------------------------------------------------------------------------
114 -- PROCEDURE : build_cle_from_cz
115 -- PURPOSE : Create/Update/Delete Contract Lines based on
116 -- the termination of the configuration call.
117 -- gets the configuration details from the
118 -- CZ schema tables join to OKC lines table.
119 -- ---------------------------------------------------------------------------
120 PROCEDURE build_cle_from_cz (
121 p_api_version_number IN NUMBER := FND_API.G_MISS_NUM,
122 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
123 p_commit IN VARCHAR2 := FND_API.G_FALSE,
124 p_config_complete_yn IN VARCHAR2 := 'N',
125 p_config_valid_yn IN VARCHAR2 := 'N',
126 p_au_line_rec IN OKC_CFG_PUB.au_rec_type,
127 p_config_rec IN OKC_CFG_PUB.config_rec_type,
128 x_cfg_list_price OUT NOCOPY NUMBER,
129 x_cfg_net_price OUT NOCOPY NUMBER,
130 x_return_status OUT NOCOPY VARCHAR2,
131 x_msg_count OUT NOCOPY NUMBER,
132 x_msg_data OUT NOCOPY VARCHAR2 );
133
134 -- ---------------------------------------------------------------------------
135 -- PROCEDURE : config_qa_check
136 -- PURPOSE : To call from QA check on a contract.
137 -- to check whether the contract configuration
138 -- is compelte and also valid.
139 -- INPUT : Contract Header Id.
140 -- OUTPUT : Contract Valid Y/N flag.
141 -- ---------------------------------------------------------------------------
142 PROCEDURE config_qa_check ( p_chr_id IN NUMBER,
143 x_return_status OUT NOCOPY VARCHAR2 );
144
145
146 -- ---------------------------------------------------------------------------
147 -- PROCEDURE : okc_pricing_callback
148 -- PURPOSE : To calculate LIST or SELL price of the config
149 -- items. Callback from the Configurator window.
150 -- The price details are for display only.
151 -- Configurator is called from the authoring form
152 -- OKCAUDET.fmx
153 -- -> OKCAUPRC.fmx
154 -- -> OKCAUCFG.plx
155 -- -> Oracle Configurator Window
156 -- -> Pricing_Callback
157 -- ---------------------------------------------------------------------------
158 PROCEDURE okc_pricing_callback( p_config_session_key IN VARCHAR2,
159 p_price_type IN VARCHAR2,
160 x_total_price OUT NOCOPY NUMBER );
161
162
163 -- ---------------------------------------------------------------------------
164 -- PROCEDURE : copy_config
165 -- PURPOSE : Creates new configuration header and revision while
166 -- copying a contract. The newly copied contract will point
167 -- to the newly created config header and revisions.
168 -- This procedure is called from the contract COPY APIs.
169 -- Procedure will handle all configured models in a contract.
170 -- ---------------------------------------------------------------------------
171 PROCEDURE copy_config ( p_dnz_chr_id IN NUMBER,
172 x_return_status OUT NOCOPY VARCHAR2);
173
174 END OKC_CFG_PUB;