DBA Data[Home] [Help]

PACKAGE: APPS.IBY_FNDCPT_COMMON_PUB

Source


1 PACKAGE IBY_FNDCPT_COMMON_PUB AS
2 /*$Header: ibyfccms.pls 120.10.12010000.2 2008/11/21 09:50:15 cjain ship $*/
3 
4 
5 G_DEBUG_MODULE CONSTANT VARCHAR2(100) := 'iby.plsql.IBY_FNDCPT_COMMON';
6 
7 G_INTERFACE_CODE CONSTANT VARCHAR2(30) := 'FNDCPT_PUB';
8 
9 ------------------------------------------------------------------------
10 -- I. Constant Declarations
11 ------------------------------------------------------------------------
12 
13 -- Payer context equivalency contants
14 --
15 G_PAYER_EQUIV_IMMEDIATE CONSTANT VARCHAR2(20) := 'IMMEDIATE';
16 G_PAYER_EQUIV_UPWARD CONSTANT VARCHAR2(20) := 'UPWARD';
17 G_PAYER_EQUIV_DOWNWARD CONSTANT VARCHAR2(20) := 'DOWNWARD';
18 G_PAYER_EQUIV_FULL CONSTANT VARCHAR2(20) := 'FULL';
19 
20 -- Payer context levels
21 G_PAYER_LEVEL_PARTY CONSTANT VARCHAR2(30) := 'PARTY_LEVEL';
22 G_PAYER_LEVEL_CUSTOMER_ACCT CONSTANT VARCHAR2(30) := 'CUSTOMER_ACCT_LEVEL';
23 G_PAYER_LEVEL_CUSTOMER_SITE CONSTANT VARCHAR2(30) := 'CUSTOMER_SITE_LEVEL';
24 
25 
26 -- Result Categories
27 --
28 G_RCAT_SUCCESS CONSTANT VARCHAR2(30) := 'SUCCESS';
29 G_RCAT_SUCCESS_RISK CONSTANT VARCHAR2(30) := 'SUCCESS_WITH_RISK';
30 G_RCAT_PENDING CONSTANT VARCHAR2(30) := 'PENDING';
31 G_RCAT_SYS_ERROR CONSTANT VARCHAR2(30) := 'SYSTEM_ERROR';
32 G_RCAT_NOOP CONSTANT VARCHAR2(30) := 'OPERATION_UNSUPPORTED';
33 G_RCAT_INV_PARAM CONSTANT VARCHAR2(30) := 'INVALID_PARAM';
34 G_RCAT_INV_FLOW CONSTANT VARCHAR2(30) := 'INCORRECT_FLOW';
35 G_RCAT_FIN_ERROR CONSTANT VARCHAR2(30) := 'FINANCIAL_ERROR';
36 G_RCAT_DUP_REQ CONSTANT VARCHAR2(30) := 'DUPLICATE_REQUEST';
37 G_RCAT_DATA_CORRUPT CONSTANT VARCHAR2(30) := 'DATA_CORRUPTION';
38 G_RCAT_CONFIG_ERR CONSTANT VARCHAR2(30) := 'CONFIG_ERROR';
39 G_RCAT_CANCELLED CONSTANT VARCHAR2(30) := 'CANCELLED';
40 
41 
42 -- Result Codes
43 --
44 G_RC_SUCCESS CONSTANT VARCHAR2(30) := 'SUCCESS';
45 G_RC_INVALID_PAYER CONSTANT VARCHAR2(30) := 'INVALID_PARTY_CONTEXT';
46 G_RC_GENERIC_SYS_ERROR CONSTANT VARCHAR2(30) := 'GENERAL_SYS_ERROR';
47 G_RC_GENERIC_CONFIG_ERROR CONSTANT VARCHAR2(30) := 'GENERAL_CONFIG_ERROR';
48 G_RC_GENERIC_INVALID_PARAM CONSTANT VARCHAR2(30) := 'GENERAL_INVALID_PARAM';
49 G_RC_GENERIC_DATA_CORRUPTION CONSTANT VARCHAR2(30) := 'GENERAL_DATA_CORRUPTION';
50 G_RC_SETTLE_PENDING CONSTANT VARCHAR2(30) := 'SETTLEMENT_PENDING';
51 
52 
53 -- Lookups
54 --
55 G_LKUP_PMT_FUNCTION CONSTANT VARCHAR2(30) := 'IBY_PAYMENT_FUNCTIONS';
56 
57 G_PMT_FUNCTION_CUST_PMT CONSTANT VARCHAR2(30) := 'CUSTOMER_PAYMENT';
58 
59 
60 G_INSTR_TYPE_CREDITCARD CONSTANT VARCHAR2(30) := 'CREDITCARD';
61 G_INSTR_TYPE_PAYMENTCARD CONSTANT VARCHAR2(30) := 'PAYMENTCARD';
62 G_INSTR_TYPE_BANKACCT CONSTANT VARCHAR2(30) := 'BANKACCOUNT';
63 G_INSTR_TYPE_MANUAL CONSTANT VARCHAR2(30) := 'MANUAL';
64 
65 
66 -------------------------------------------------------------------------
67 -- II. Common Record Types
68 -------------------------------------------------------------------------
69 
70 
71 TYPE PayerContext_rec_type IS RECORD
72      (
73      Payment_Function    VARCHAR2(30),
74      Party_Id            NUMBER,
75      Org_Type            VARCHAR2(30),
76      Org_Id              NUMBER,
77      Cust_Account_Id     NUMBER,
78      Account_Site_Id     NUMBER
79      );
80 
81 TYPE TrxnContext_rec_type IS RECORD
82      (
83      Application_Id      NUMBER,
84      Transaction_Type    VARCHAR2(30),
85      Org_Type            VARCHAR2(30),
86      Org_Id              NUMBER,
87      Currency_Code       VARCHAR2(15),
88      Payment_Amount      NUMBER,
89      Payment_InstrType   VARCHAR2(30)
90      );
91 
92 TYPE ResultLimit_rec_type IS RECORD
93      (
94      Default_Flag        VARCHAR2(1)
95      );
96 
97 TYPE Result_rec_type IS RECORD
98      (
99      Result_Code         VARCHAR2(30),
100      Result_Category     VARCHAR2(30),
101      Result_Message      VARCHAR2(2000)
102      );
103 
104 
105 TYPE Id_tbl_type IS TABLE OF NUMBER(15) INDEX BY BINARY_INTEGER;
106 
107 -------------------------------------------------------------------------------
108 -- III.  Utility Functions
109 -------------------------------------------------------------------------------
110 
111   --
112   -- Return: The party context level; if not a valid context then
113   --   G_RC_INVALID_PAYER is returned
114   --
115   FUNCTION Validate_Payer
116   (
117   p_payer            IN   PayerContext_rec_type,
118   p_val_level        IN   VARCHAR2
119   )
120   RETURN VARCHAR2;
121 
122   --
123   -- Return: 'T' if the 2 payer contexts have equivalency
124   -- Note: Equivalent payers will always share the same party id
125   --   and payment function attributes; thus they are not passed in
126   --   as arguments and should be used in the condition of the SQL
127   --   query to limit the result set (and calls to this function)
128   --
129   FUNCTION Compare_Payer
130   (
131   p_payer_org_type  IN    iby_external_payers_all.org_type%TYPE,
132   p_payer_org_id    IN    iby_external_payers_all.org_id%TYPE,
133   p_payer_cust_acct_id IN iby_external_payers_all.cust_account_id%TYPE,
134   p_payer_acct_site_id IN iby_external_payers_all.acct_site_use_id%TYPE,
135   p_payer_level     IN    VARCHAR2,
136   p_equiv_type      IN    VARCHAR2,
137   p_compare_org_type IN   iby_external_payers_all.org_type%TYPE,
138   p_compare_org_id  IN    iby_external_payers_all.org_id%TYPE,
139   p_compare_cust_acct_id IN iby_external_payers_all.cust_account_id%TYPE,
140   p_compare_acct_site_id IN iby_external_payers_all.acct_site_use_id%TYPE
141   )
142   RETURN VARCHAR2;
143 
144   --
145   -- Purpose: Prepares various result out parameters based upon an API
146   --          result code
147   -- Args:    x_result => Field result code must be set to a valid value
148   --
149   PROCEDURE Prepare_Result
150   (
151   p_interface_code   IN  VARCHAR2 := G_INTERFACE_CODE,
152   p_existing_msg     IN  VARCHAR2,
153   p_prev_msg_count   IN  NUMBER,
154   x_return_status    OUT NOCOPY VARCHAR2,
155   x_msg_count        OUT NOCOPY NUMBER,
156   x_msg_data         OUT NOCOPY VARCHAR2,
157   x_result           IN OUT NOCOPY Result_rec_type
158   );
159 
160   --
161   -- Purpose: Prepares various result out parameters based upon an API
162   --          result code
163   -- Args:    x_result => Field result code must be set to a valid value
164   --
165   PROCEDURE Prepare_Result
166   (
167   p_prev_msg_count   IN  NUMBER,
168   x_return_status    OUT NOCOPY VARCHAR2,
169   x_msg_count        OUT NOCOPY NUMBER,
170   x_msg_data         OUT NOCOPY VARCHAR2,
171   x_result           IN OUT NOCOPY Result_rec_type
172   );
173 
174   --
175   -- Purpose: Gets the category of a particular interface result
176   --
177   FUNCTION Get_Result_Category
178   (p_result     IN iby_result_codes.result_code%TYPE,
179    p_interface  IN iby_result_codes.request_interface_code%TYPE)
180   RETURN iby_result_codes.result_category%TYPE;
181 
182   PROCEDURE Clear_Msg_Stack( p_prev_msg_count IN  NUMBER );
183 
184 END IBY_FNDCPT_COMMON_PUB;