DBA Data[Home] [Help]

PACKAGE: APPS.OKS_IBINT_PUB

Source


1 Package OKS_IBINT_PUB AUTHID CURRENT_USER As
2 /* $Header: OKSPIBIS.pls 120.11 2010/12/22 10:05:42 skuchima ship $ */
3 
4  ---------------------------------------------------------------------------
5   -- GLOBAL MESSAGE CONSTANTS
6   ---------------------------------------------------------------------------
7   G_REQUIRED_VALUE		CONSTANT VARCHAR2(200) := OKC_API.G_REQUIRED_VALUE;
8   G_INVALID_VALUE		CONSTANT VARCHAR2(200) := OKC_API.G_INVALID_VALUE;
9   G_COL_NAME_TOKEN		CONSTANT VARCHAR2(200) := OKC_API.G_COL_NAME_TOKEN;
10   G_PARENT_TABLE_TOKEN		CONSTANT VARCHAR2(200) := OKC_API.G_PARENT_TABLE_TOKEN;
11   G_CHILD_TABLE_TOKEN		CONSTANT VARCHAR2(200) := OKC_API.G_CHILD_TABLE_TOKEN;
12   G_UNEXPECTED_ERROR            CONSTANT VARCHAR2(200) := 'OKC_CONTRACTS_UNEXP_ERROR';
13   G_SQLERRM_TOKEN               CONSTANT VARCHAR2(200) := 'SQLerrm';
14   G_SQLCODE_TOKEN               CONSTANT VARCHAR2(200) := 'SQLcode';
15   G_UPPERCASE_REQUIRED		CONSTANT VARCHAR2(200) := 'OKC_CONTRACTS_UPPERCASE_REQUIRED';
16 
17   ------------------------------------------------------------------------------------
18   -- GLOBAL EXCEPTION
19   ---------------------------------------------------------------------------
20   G_EXCEPTION_HALT_VALIDATION	EXCEPTION;
21 
22   -- GLOBAL VARIABLES
23   ---------------------------------------------------------------------------
24   G_PKG_NAME			CONSTANT VARCHAR2(200) := 'OKSOMINT';
25   G_APP_NAME			CONSTANT VARCHAR2(3)   := 'OKS';
26   G_FND_LOG_OPTION              CONSTANT VARCHAR2(30)  := NVL(Fnd_Profile.Value('OKS_DEBUG'),'N');
27   ---------------------------------------------------------------------------
28 
29   Type Instance_rec_type Is Record
30  (     old_customer_product_id  Number
31        ,old_quantity            Number
32        ,Bom_explosion_flag      Varchar2(1)
33        ,Old_Unit_of_measure	Varchar2(3)
34        ,Old_Inventory_item_id   Number
35        ,Old_Customer_acct_id    Number
36        ,Organization_id         Number
37        ,Bill_to_site_use_id     Number
38        ,Ship_to_site_use_id     Number
39        ,Org_id	                Number
40        ,Order_line_id           Number
41        ,Shipped_date            Date
42        ,Installation_date       Date
43        ,transaction_date        Date
44 
45 );
46 
47 Type l_instance_tbl is table of instance_Rec_type index by binary_integer;
48 instance_tbl l_instance_tbl;
49 Type txn_instance_rec is record
50 (
51 
52 Old_Customer_product_id	NUMBER,
53 Old_Quantity	NUMBER,
54 Old_Unit_of_measure	VARCHAR2 (3),
55 Old_Inventory_item_id	NUMBER,
56 Old_Customer_acct_id	NUMBER,
57 New_Customer_product_id	NUMBER,
58 New_Quantity	NUMBER,
59 New_Customer_acct_id	NUMBER,
60 New_inventory_item_id	NUMBER,
61 New_Unit_of_measure	VARCHAR2(3),
62 Org_id	NUMBER,
63 Order_line_id	NUMBER,
64 Shipped_date	DATE,
65 Installation_date	DATE,
66 Bill_to_site_use_id	NUMBER,
67 Ship_to_site_use_id	NUMBER,
68 Organization_id	NUMBER,
69 System_id	NUMBER,
70 Bom_explosion_flag	VARCHAR2 (1),
71 Return_reason_code	VARCHAR2 (240),
72 Raise_credit	VARCHAR2 (50),
73 Transaction_date	Date,
74 Transfer_date	Date,
75 Termination_date	Date,
76 TRM	VARCHAR2(1),
77 TRF	VARCHAR2(1),
78 RET	VARCHAR2(1),
79 RPL	VARCHAR2(1),
80 IDC	VARCHAR2(1),
81 UPD	VARCHAR2(1),
82 SPL	VARCHAR2(1),
83 NEW	VARCHAR2(1),
84 RIN	VARCHAR2(1)
85 );
86 Type txn_instance_tbl is table of txn_instance_rec index by binary_integer;
87 /*
88 This api is an interface api, called by IB when any instance operation is performed.
89 For Mass Instance Updates, batch_id and batch_type along with the list of instances
90 is passed to identify the Mass update operation.
91 For Instance transfers, instance terminations and instance installation date change, parent instance as well as the components affected by the transaction are passed
92 */
93 Procedure IB_interface(
94 P_Api_Version	NUMBER,
95 P_init_msg_list	VARCHAR2,
96 P_single_txn_date_flag	VARCHAR2,
97 P_Batch_type	VARCHAR2,
98 P_Batch_ID	NUMBER,
99 P_OKS_Txn_Inst_tbl	TXN_INSTANCE_tbl,
100 x_return_status	OUT NOCOPY VARCHAR2,
101 x_msg_count	OUT NOCOPY NUMBER,
102 x_msg_data	OUT NOCOPY VARCHAR2
103 );
104 
105 
106  l_Header_rec       OKS_EXTWAR_UTIL_PVT.Header_Rec_Type;
107   l_line_rec         OKS_EXTWAR_UTIL_PVT.Line_Rec_Type;
108   War_tbl 	     OKS_EXTWAR_UTIL_PVT.War_tbl;
109   l_Service_tbl      OKS_EXTWAR_UTIL_PVT.Service_tbl;
110   l_extwar_rec       OKS_EXTWARPRGM_PVT .extwar_rec_Type;
111 
112   p_contact_tbl      OKS_EXTWARPRGM_PVT .contact_tbl;
113   l_codv_tbl_in      OKS_COD_PVT.codv_tbl_type;
114   l_codv_tbl_out     OKS_COD_PVT.codv_tbl_type;
115   l_SalesCredit_tbl  OKS_EXTWARPRGM_PVT.SalesCredit_tbl;
116   l_SalesCredit_tbl_hdr  OKS_EXTWARPRGM_PVT.SalesCredit_tbl; --mmadhavi bug 4174921
117   l_pricing_attributes_in     OKS_EXTWARPRGM_PVT.Pricing_attributes_Type;
118 
119   TYPE CP_REC_TYPE Is RECORD
120   (
121    org_id		Number
122   ,customer_product_id  Number
123   ,order_line_id        Number
124   ,SHipped_date         Date
125   ,Installation_date    Date
126   ,Bill_to_site_use_id  Number
127   ,Ship_to_site_use_id  Number
128   ,Quantity             Number
129   ,Unit_of_measure      Varchar2(3)
130   ,Inventory_item_id    Number
131   ,Customer_acct_id     Number
132   ,organization_id      Number
133   ,System_id            Number
134   ,bom_explosion_flag   Varchar2(1)
135   ,return_reason_code   Varchar2(240)
136   ,raise_credit         Varchar2(50)
137    );
138 
139 
140  Type Cp_tbl_type is TABLE of cp_rec_type INDEX BY BINARY_INTEGER;
141 
142 Type Renewal_rec_type Is Record
143 (
144  Chr_id                 Number
145 ,Renewal_type           Varchar2(10)
146 ,po_required_yn         Varchar2(1)
147 ,Renewal_pricing_type   Varchar2(3)
148 ,Markup_percent         Number
149 ,Price_list_id1         Varchar2(40)
150 ,link_chr_id            Number
151 ,contact_id             Number
152 ,email_id               Number
153 ,phone_id               Number
154 ,fax_id                 Number
155 ,site_id                Number
156 ,cod_type               Varchar2(3)
157 ,billing_profile_id     Number   -- new parameter added -vigandhi
158 ,line_renewal_type      Varchar2(3)
159 
160 );
161 l_renewal_rec renewal_rec_type;
162 -- Procedure to delete a batch
163 -- This procedure is called by IB when aInstance Mass update batch is deleted.
164 -- This api deletes the batch rules stored in OKS_BATCH_RULES table for the batch_id.
165 procedure delete_batch
166 (
167  P_Api_Version           IN             NUMBER,
168  P_init_msg_list         IN             VARCHAR2,
169  P_Batch_ID              IN             NUMBER,
170  x_return_status         OUT NOCOPY     VARCHAR2,
171  x_msg_count             OUT NOCOPY     NUMBER,
172  x_msg_data	         OUT NOCOPY     VARCHAR2);
173 
174 -- Procedure to create batch rules. This api is invoked from Instance Mass Update(Form based UI)
175 -- The transfer options as defined in the profile options,
176 -- are stored in OKS_BATCH_RULES_TABLE and are applied to contracts when the batch is submitted for processing.
177 procedure create_batch_rules
178 (
179  P_Api_Version           IN              NUMBER,
180  P_init_msg_list         IN             VARCHAR2,
181  P_Batch_ID              IN             NUMBER,
182  p_batch_type            IN             VARCHAR2,
183  x_return_status         OUT NOCOPY     VARCHAR2,
184  x_msg_count             OUT NOCOPY     NUMBER,
185  x_msg_data	         OUT NOCOPY     VARCHAR2);
186 
187  TYPE txn_tbl_type is TABLE of VARCHAR2(3) INDEX BY BINARY_INTEGER;
188  TYPE NUM_TBL_TYPE is TABLE of NUMBER INDEX BY BINARY_INTEGER;
189  TYPE VAR120_TBL_TYPE is TABLE of VARCHAR2(120) INDEX BY BINARY_INTEGER;
190  TYPE VAR150_TBL_TYPE is TABLE of VARCHAR2(150) INDEX BY BINARY_INTEGER;
191  TYPE VAR300_TBL_TYPE is TABLE of VARCHAR2(300) INDEX BY BINARY_INTEGER;
192  TYPE VAR90_TBL_TYPE is TABLE of VARCHAR2(90) INDEX BY BINARY_INTEGER;
193  TYPE DATE_TBL_TYPE is TABLE of DATE INDEX BY BINARY_INTEGER;
194 
195  TYPE instance_rec is RECORD
196   (      INSTANCE_ID                     NUMBER,
197          INSTANCE_NUMBER                 VARCHAR2(30),
198          EXTERNAL_REFERENCE              VARCHAR2(30),
199          INVENTORY_ITEM_ID               NUMBER,
200          VLD_ORGANIZATION_ID             NUMBER,
201          INVENTORY_REVISION              VARCHAR2(3),
202          SERIAL_NUMBER                   VARCHAR2(30),
203          LOT_NUMBER                      VARCHAR2(80), --skuchima bug #10318534
204          QUANTITY                        NUMBER,
205          UNIT_OF_MEASURE                 VARCHAR2(3),
206          ACTIVE_START_DATE               DATE,
207          INSTALL_DATE                    DATE,
208          LOCATION_TYPE_CODE              VARCHAR2(30),
209          LOCATION_ID                     NUMBER,
210          CONTEXT                         VARCHAR2(30),
211          ATTRIBUTE1                      VARCHAR2(240),
212          ATTRIBUTE2                      VARCHAR2(240),
213          ATTRIBUTE3                      VARCHAR2(240),
214          ATTRIBUTE4                      VARCHAR2(240),
215          ATTRIBUTE5                      VARCHAR2(240),
216          ATTRIBUTE6                      VARCHAR2(240),
217          ATTRIBUTE7                      VARCHAR2(240),
218          ATTRIBUTE8                      VARCHAR2(240),
219          ATTRIBUTE9                      VARCHAR2(240),
220          ATTRIBUTE10                     VARCHAR2(240),
221          ATTRIBUTE11                     VARCHAR2(240),
222          ATTRIBUTE12                     VARCHAR2(240),
223          ATTRIBUTE13                     VARCHAR2(240),
224          ATTRIBUTE14                     VARCHAR2(240),
225          ATTRIBUTE15                     VARCHAR2(240),
226          INSTALL_LOCATION_TYPE_CODE      VARCHAR2(30),
227          INSTALL_LOCATION_ID             NUMBER,
228          CALL_CONTRACTS                  VARCHAR2(1),
229          Party_Id                        NUMBER,
230          ACCOUNT_ID                      NUMBER
231   );
232 
233   /*cgopinee bug9786579 introduced record type and API for csi mass upload feature*/
234  Type k_cov_line_rec_type Is Record
235  (     customer_product_id   Number
236        ,quantity          Number
237        ,Unit_of_measure   Varchar2(3)
238        ,Inventory_item_id Number
239        ,Customer_acct_id  Number
240        ,Organization_id   Number
241        ,Org_id            Number
242        ,parent_tbl_idx    NUMBER
243  );
244  TYPE k_cov_line_tbl IS TABLE OF k_cov_line_rec_type INDEX BY BINARY_INTEGER;
245 
246  PROCEDURE create_k_covered_levels_webadi
247  (
248    p_chr_id               IN       NUMBER,
249    p_attach2_line_id      IN       NUMBER,
250    p_k_covd_rec           IN       k_cov_line_rec_type,
251    x_covlvl_id        OUT NOCOPY   NUMBER,
252    x_return_status    OUT NOCOPY   VARCHAR2,
253    x_msg_count        OUT NOCOPY   NUMBER,
254    x_msg_data         OUT NOCOPY   VARCHAR2
255  );
256 
257  FUNCTION CHECK_SUBSCR_INSTANCE( p_instance_id NUMBER)
258  RETURN VARCHAR2 ;
259 
260  PROCEDURE POPULATE_CHILD_INSTANCES (p_api_version         IN          Number,
261                                     p_init_msg_list       IN          Varchar2 Default OKC_API.G_FALSE,
262                                     p_instance_id         IN          NUMBER,
263                                     p_transaction_type    IN          VARCHAR2,
264                                     x_msg_Count           OUT NOCOPY  Number,
265                                     x_msg_Data            OUT NOCOPY  Varchar2,
266                                     x_return_status       OUT NOCOPY  Varchar2);
267 
268  PROCEDURE CHECK_CONTRACTS_IMPACTED(
269     P_Api_Version        IN              NUMBER,
270     P_init_msg_list      IN              VARCHAR2 Default OKC_API.G_FALSE,
271     P_instance_id        IN              NUMBER,
272     p_parent_instance_yn IN              VARCHAR2,
273     p_transaction_date   IN              DATE,
274     p_new_install_date   IN              DATE,
275     P_txn_tbl            IN              txn_tbl_type,
276     x_contract_exists_yn OUT NOCOPY      VARCHAR2,
277     X_msg_Count          OUT NOCOPY      Number,
278     X_msg_Data           OUT NOCOPY      Varchar2,
279     x_return_status      OUT NOCOPY      Varchar2);
280 
281  PROCEDURE GET_CONTRACTS(p_api_version         IN  Number,
282                             p_init_msg_list       IN  Varchar2 Default OKC_API.G_FALSE,
283                             p_instance_id         IN  NUMBER,
284                             p_validate_yn         IN  VARCHAR2,
285                             x_msg_Count           OUT NOCOPY  Number,
286                             x_msg_Data            OUT NOCOPY  Varchar2,
287                             x_return_status       OUT NOCOPY  Varchar2);
288 
289  PROCEDURE CREATE_ITEM_INSTANCE
290  (
291     p_api_version           IN     NUMBER,
292     p_commit                IN     VARCHAR2,
293     p_init_msg_list         IN     VARCHAR2,
294     p_validation_level      IN     NUMBER,
295     p_instance_rec          IN OUT NOCOPY instance_rec,
296     x_return_status         OUT    NOCOPY VARCHAR2,
297     x_msg_count             OUT    NOCOPY NUMBER,
298     x_msg_data              OUT    NOCOPY VARCHAR2
299  );
300 
301 -- Procedure to validate batch rules before submitting
302 -- the batch for processing.
303 -- In the case where the new owner account is changed
304 -- either in the Forms Mass Edit batch or OA mass edit
305 -- batch without visiting contracts page, the api throws
306 -- an error forcing the user to visit the contracts page
307 -- and change the options.
308 
309 procedure Validate_new_owner
310 (
311  P_Api_Version           IN             NUMBER,
312  P_init_msg_list         IN             VARCHAR2,
313  P_Batch_ID              IN             NUMBER,
314  P_new_owner_id          IN             NUMBER,
315  x_return_status         OUT NOCOPY     VARCHAR2,
316  x_msg_count             OUT NOCOPY     NUMBER,
317  x_msg_data	         OUT NOCOPY     VARCHAR2);
318 
319 
320   End OKS_IBINT_PUB;