DBA Data[Home] [Help]

PACKAGE: APPS.OKS_QP_PKG

Source


1 PACKAGE OKS_QP_PKG AUTHID CURRENT_USER AS
2 /* $Header: OKSRAQPS.pls 120.3 2010/06/08 04:35:00 cgopinee ship $ */
3 
4 G_REQUIRED_VALUE       CONSTANT VARCHAR2(200) := OKC_API.G_REQUIRED_VALUE;
5 G_INVALID_VALUE        CONSTANT VARCHAR2(200) := OKC_API.G_INVALID_VALUE;
6 G_COL_NAME_TOKEN       CONSTANT VARCHAR2(200) := OKC_API.G_COL_NAME_TOKEN;
7 G_PARENT_TABLE_TOKEN   CONSTANT VARCHAR2(200) := OKC_API.G_PARENT_TABLE_TOKEN;
8 G_CHILD_TABLE_TOKEN    CONSTANT VARCHAR2(200) := OKC_API.G_CHILD_TABLE_TOKEN;
9 G_UNEXPECTED_ERROR     CONSTANT VARCHAR2(200) := 'OKS_UNEXPECTED_ERROR';
10 G_SQLERRM_TOKEN        CONSTANT VARCHAR2(200) := 'ERROR_MESSAGE';
11 G_SQLCODE_TOKEN        CONSTANT VARCHAR2(200) := 'ERROR_CODE';
12 G_UPPERCASE_REQUIRED   CONSTANT VARCHAR2(200) := 'OKC_CONTRACTS_UPPERCASE_REQD';
13 G_QP_ENGINE_ERROR      CONSTANT VARCHAR2(200) := 'OKS_QP_ENGINE_API_ERROR';
14 
15 
16 ------------------------------------------------------------------------------------
17 
18   -- GLOBAL EXCEPTION
19 
20 ---------------------------------------------------------------------------
21 
22 G_EXCEPTION_HALT_VALIDATION     EXCEPTION;
23 G_BUILD_RECORD_FAILED           EXCEPTION;
24 G_REQUIRED_ATTR_FAILED          EXCEPTION;
25 G_CALL_QP_FAILED                EXCEPTION;
26 
27 --  Global constant holding the package name
28 
29 G_PKG_NAME              CONSTANT VARCHAR2(30) := 'OKS_QP_PKG';
30 G_APP_NAME              CONSTANT VARCHAR2(3) := 'OKS';
31 
32 
33 G_LIST_CONTEXT          CONSTANT VARCHAR2(30) := 'MODLIST';
34 G_LIST_PRICE_ATTR       CONSTANT VARCHAR2(30) := 'QUALIFIER_ATTRIBUTE4';
35 G_LIST_MODIFIER_ATTR    CONSTANT VARCHAR2(30) := 'QUALIFIER_ATTRIBUTE6';
36 
37 G_ITEM_CONTEXT          CONSTANT VARCHAR2(30) := 'ITEM';
38 G_ITEM_ATTR             CONSTANT VARCHAR2(30) := 'PRICING_ATTRIBUTE1';
39 
40 G_VOLUME_CONTEXT        CONSTANT VARCHAR2(30) := 'VOLUME';
41 G_VOLUME_ATTR           CONSTANT VARCHAR2(30) := 'PRICING_ATTRIBUTE1';
42 
43 G_REQUEST_TYPE_CODE     CONSTANT VARCHAR2(30) := 'ASO';
44 --G_PRICING_EVENT         CONSTANT VARCHAR2(30) := 'PRICE';
45 --9/25 Changed to
46 G_PRICING_EVENT         CONSTANT VARCHAR2(30) := 'LINE';
47 
48 G_LINE_TYPE             CONSTANT VARCHAR2(30) := 'SERVICE CONTRACT LINE';
49 G_CONTROL_REC		QP_PREQ_GRP.CONTROL_RECORD_TYPE;
50 
51 
52 G_JTF_Party        CONSTANT  VARCHAR2(30)  := 'OKX_PARTY';
53 G_JTF_Covlvl       CONSTANT  VARCHAR2(30)  := 'OKX_COVSYST';
54 G_JTF_Custacct     CONSTANT  VARCHAR2(30)  := 'OKX_CUSTACCT';
55 G_JTF_CusProd      CONSTANT  VARCHAR2(40)  := 'OKX_CUSTPROD';
56 
57 --G_JTF_Sysitem    CONSTANT  VARCHAR2(30)  := 'X_
58 G_JTF_Billto       CONSTANT  VARCHAR2(30)  := 'OKX_BILLTO';
59 G_JTF_Shipto       CONSTANT  VARCHAR2(30)  := 'OKX_SHIPTO';
60 G_JTF_Warr         CONSTANT  VARCHAR2(30)  := 'OKX_WARRANTY';
61 G_JTF_Extwar       CONSTANT  VARCHAR2(30)  := 'OKX_SERVICE';
62 
63 
64 G_JTF_usage        CONSTANT  VARCHAR2(30)  := 'OKX_USAGE';
65 G_JTF_service      CONSTANT  VARCHAR2(30)  := 'OKX_SERVICE';
66 
67 G_JTF_Invrule      CONSTANT  VARCHAR2(30)  := 'OKX_INVRULE';
68 G_JTF_Acctrule     CONSTANT  VARCHAR2(30)  := 'OKX_ACCTRULE';
69 G_JTF_Payterm      CONSTANT  VARCHAR2(30)  := 'OKX_PPAYTERM';
70 G_JTF_Price        CONSTANT  VARCHAR2(30)  := 'OKX_PRICE';
71 
72 TYPE G_PRICE_BREAK_REC_TYPE IS RECORD
73 (
74       quantity_from  	NUMBER,
75       quantity_to		NUMBER,
76       list_price		NUMBER,
77       break_method	VARCHAR2(10),
78       break_uom_code            VARCHAR2(3),  /* Proration*/
79       break_uom_context         VARCHAR2(30), /* Proration*/
80       break_uom_attribute       VARCHAR2(30),  /* Proration*/
81       unit_price        NUMBER,
82       quantity          NUMBER,
83       Amount            NUMBER
84 );
85 
86 TYPE G_PRICE_BREAK_TBL_TYPE is TABLE OF G_PRICE_BREAK_REC_TYPE INDEX BY BINARY_INTEGER;
87 
88 
89 TYPE PRICE_DETAILS IS RECORD
90 (
91       PROD_QTY                NUMBER,
92       PROD_QTY_UOM            VARCHAR2(30),
93       SERV_QTY                NUMBER,
94       SERV_QTY_UOM            VARCHAR2(30),
95       PROD_PRICE_LIST_ID      VARCHAR2(40),
96       SERV_PRICE_LIST_ID      VARCHAR2(40),
97       PROD_PRICE_LIST_LINE_ID VARCHAR2(40),
98       SERV_PRICE_LIST_LINE_ID VARCHAR2(40),
99       PROD_LIST_UNIT_PRICE    NUMBER,
100       SERV_LIST_UNIT_PRICE    NUMBER,
101       PROD_ADJ_UNIT_PRICE     NUMBER,
102       SERV_ADJ_UNIT_PRICE     NUMBER,
103       PROD_PRICED_QTY         NUMBER,
104       PROD_PRICED_UOM         VARCHAR2(30),
105       PROD_EXT_AMOUNT         NUMBER,
106       SERV_PRICED_QTY         NUMBER,
107       SERV_PRICED_UOM         VARCHAR2(30),
108       SERV_EXT_AMOUNT         NUMBER,
109       SERV_OPERAND            VARCHAR2(240),
110       SERV_OPERATOR           VARCHAR2(240),
111       STATUS_CODE             VARCHAR2(30),
112       STATUS_TEXT             VARCHAR2(2000)
113 );
114 
115 TYPE Input_details IS RECORD
116 (
117       price_list                           Number,
118       price_list_line_id                   Number,
119       chr_id                               Number,
120       line_id                              Number,
121       subline_id                           Number,
122       intent                               Varchar2(200),
123       currency                             Varchar2(200),
124       bcl_id                               Number,
125       bsl_id                               Number,
126       usage_qty                            Number,
127       usage_uom_code                       Varchar2(200),
128       break_uom_code                       Varchar2(200),
129       proration_yn                         Varchar2(200),
130       bill_from_date                       Date,
131       bill_to_date                         Date,
132       asking_unit_price                    Number
133 );
134 
135 --  PROCEDURES
136 
137 PROCEDURE CALC_PRICE
138 (
139       p_detail_rec                   IN        Input_details,
140       x_price_details               OUT NOCOPY Price_Details,
141       x_modifier_details            OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
142       x_price_break_details         OUT NOCOPY g_price_break_tbl_type,
143       x_return_status			OUT NOCOPY Varchar2,
144       x_msg_count			      OUT NOCOPY Number,
145       x_msg_data			      OUT NOCOPY Varchar2
146 );
147 
148 Procedure Delete_locked_pricebreaks(
149                                    p_api_version          IN NUMBER,
150                                    p_list_line_id         IN NUMBER,
151                                    p_init_msg_list        IN VARCHAR2,
152                                    x_return_status        IN OUT NOCOPY VARCHAR2,
153                                    x_msg_count            IN OUT NOCOPY NUMBER,
154                                    x_msg_data             IN OUT NOCOPY VARCHAR2);
155 
156 
157 /*skuchima For Repricing in bulk mode Bug:	7539977 */
158 PROCEDURE calc_price_pre (
159                 p_detail_rec                    IN       input_details,
160                 l_control_rec                   OUT NOCOPY qp_preq_grp.control_record_type,
161                 l_req_line_tbl                  OUT NOCOPY qp_preq_grp.line_tbl_type,
162                 l_req_qual_tbl                  OUT NOCOPY qp_preq_grp.qual_tbl_type,
163                 l_req_line_attr_tbl             OUT NOCOPY qp_preq_grp.line_attr_tbl_type,
164                 l_req_line_detail_tbl           OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
165                 l_req_line_detail_qual_tbl      OUT NOCOPY qp_preq_grp.line_detail_qual_tbl_type,
166                 l_req_line_detail_attr_tbl      OUT NOCOPY qp_preq_grp.line_detail_attr_tbl_type,
167                 l_req_related_lines_tbl         OUT NOCOPY qp_preq_grp.related_lines_tbl_type,
168                 x_return_status                 OUT NOCOPY VARCHAR2
169                          ) ;
170 
171   /*skuchima For Repricing in bulk mode Bug:	7539977 */
172 PROCEDURE calc_price_post(
173                           p_detail_rec                    IN       input_details,
174                           lx_req_line_tbl                 IN       qp_preq_grp.line_tbl_type,
175                           lx_req_qual_tbl                 IN       qp_preq_grp.qual_tbl_type,
176                           lx_req_line_attr_tbl            IN       qp_preq_grp.line_attr_tbl_type,
177                           lx_req_line_detail_tbl          IN       qp_preq_grp.line_detail_tbl_type,
178                           lx_req_line_detail_qual_tbl     IN       qp_preq_grp.line_detail_qual_tbl_type,
179                           lx_req_line_detail_attr_tbl     IN       qp_preq_grp.line_detail_attr_tbl_type,
180                           lx_req_related_lines_tbl        IN       qp_preq_grp.related_lines_tbl_type,
181                           x_price_details                 OUT NOCOPY price_details,
182                           x_modifier_details              OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
183                           x_price_break_details           OUT NOCOPY g_price_break_tbl_type,
184                           x_return_status                 OUT NOCOPY VARCHAR2,
185                           x_msg_count                     OUT NOCOPY NUMBER,
186                           x_msg_data                      OUT NOCOPY VARCHAR2
187 );
188 
189 END;