1 package PA_CC_ENC_IMPORT_FCK AUTHID CURRENT_USER as
2 -- $Header: PACCENCS.pls 115.2 2003/04/17 22:37:50 riyengar noship $
3 -- variable to hold a table of record for pa_bc_packets
4 TYPE FC_Record IS RECORD (
5 PACKET_ID pa_bc_packets.PACKET_ID%type,
6 BC_PACKET_ID pa_bc_packets.BC_PACKET_ID%type,
7 PARENT_BC_PACKET_ID pa_bc_packets.PARENT_BC_PACKET_ID%type default Null, -- should be populated for burden rows
8 EXT_BUDGET_TYPE varchar2(100) default 'GL', -- defaule values are 'CC' or 'GL'
9 BC_COMMITMENT_ID pa_bc_packets.BC_COMMITMENT_ID%type default Null,
10 PROJECT_ID pa_bc_packets.PROJECT_ID%type,
11 TASK_ID pa_bc_packets.TASK_ID%type,
12 EXPENDITURE_TYPE pa_bc_packets.EXPENDITURE_TYPE%type,
13 EXPENDITURE_ITEM_DATE pa_bc_packets.EXPENDITURE_ITEM_DATE%type,
14 SET_OF_BOOKS_ID pa_bc_packets.SET_OF_BOOKS_ID%type,
15 JE_CATEGORY_NAME pa_bc_packets.JE_CATEGORY_NAME%type,
16 JE_SOURCE_NAME pa_bc_packets.JE_SOURCE_NAME%type,
17 STATUS_CODE pa_bc_packets.STATUS_CODE%type default 'P', -- P pending
18 DOCUMENT_TYPE pa_bc_packets.DOCUMENT_TYPE%type,
19 FUNDS_PROCESS_MODE pa_bc_packets.FUNDS_PROCESS_MODE%type default 'T',
20 EXPENDITURE_ORGANIZATION_ID pa_bc_packets.EXPENDITURE_ORGANIZATION_ID%type,
21 DOCUMENT_HEADER_ID pa_bc_packets.DOCUMENT_HEADER_ID%type,
22 DOCUMENT_DISTRIBUTION_ID pa_bc_packets.DOCUMENT_DISTRIBUTION_ID%type,
23 BUDGET_VERSION_ID pa_bc_packets.BUDGET_VERSION_ID%type default Null,
24 BURDEN_COST_FLAG pa_bc_packets.BURDEN_COST_FLAG%type default 'N',
25 BALANCE_POSTED_FLAG pa_bc_packets.BALANCE_POSTED_FLAG%type default 'N',
26 ACTUAL_FLAG pa_bc_packets.ACTUAL_FLAG%type default 'E', -- 'A' for Actual , 'E' for Encumbrance
27 GL_DATE pa_bc_packets.GL_DATE%type default Null,
28 PERIOD_NAME pa_bc_packets.PERIOD_NAME%type, -- must be populated
29 PERIOD_YEAR pa_bc_packets.PERIOD_YEAR%type,
30 PERIOD_NUM pa_bc_packets.PERIOD_NUM%type,
31 ENCUMBRANCE_TYPE_ID pa_bc_packets.ENCUMBRANCE_TYPE_ID%type, -- must be populated
32 PROJ_ENCUMBRANCE_TYPE_ID pa_bc_packets.PROJ_ENCUMBRANCE_TYPE_ID%type default Null,
33 TOP_TASK_ID pa_bc_packets.TOP_TASK_ID%type default null,
34 PARENT_RESOURCE_ID pa_bc_packets.PARENT_RESOURCE_ID%type default null,
35 RESOURCE_LIST_MEMBER_ID pa_bc_packets.RESOURCE_LIST_MEMBER_ID%type default null,
36 ENTERED_DR pa_bc_packets.ENTERED_DR%type,
37 ENTERED_CR pa_bc_packets.ENTERED_CR%type,
38 ACCOUNTED_DR pa_bc_packets.ACCOUNTED_DR%type,
39 ACCOUNTED_CR pa_bc_packets.ACCOUNTED_CR%type,
40 RESULT_CODE pa_bc_packets.RESULT_CODE%type default null,
41 OLD_BUDGET_CCID pa_bc_packets.OLD_BUDGET_CCID%type default null,
42 TXN_CCID pa_bc_packets.TXN_CCID%type, -- it should be populated with code combinationid
43 ORG_ID pa_bc_packets.ORG_ID%type, -- it shoudl be populated
44 LAST_UPDATE_DATE pa_bc_packets.LAST_UPDATE_DATE%type, -- standard who columns
45 LAST_UPDATED_BY pa_bc_packets.LAST_UPDATED_BY%type, -- standard who columns
46 CREATED_BY pa_bc_packets.CREATED_BY%type, -- standard who columns
47 CREATION_DATE pa_bc_packets.CREATION_DATE%type, -- standard who columns
48 LAST_UPDATE_LOGIN pa_bc_packets.LAST_UPDATE_LOGIN%type -- standard who columns
49 );
50
51 TYPE FC_Rec_Table IS TABLE OF FC_Record INDEX BY BINARY_INTEGER;
52
53 /** This is an autonmous Transaction API, which inserts records into
54 * pa_bc_packets. If the operation is success ,x_return_status will be set to 'S'
55 * else it will be set to 'T' - for fatal error and x_error_msg will return the sqlcode and sqlerrm
56 **/
57 PROCEDURE Load_pkts(
58 p_calling_module IN varchar2 default 'CCTRXIMPORT'
59 ,p_ext_budget_type IN varchar2 default 'GL'
60 , p_packet_id IN number
61 , p_fc_rec_tab IN PA_CC_ENC_IMPORT_FCK.FC_Rec_Table
62 , x_return_status OUT NOCOPY varchar2
63 , x_error_msg OUT NOCOPY varchar2
64 );
65
66 /** This is a wrapper API created on top of pa_funds_chedk for Contract commitments transactions
67 * During import of CC transactions, since the amounts are already encumbered in GL and CC
68 * the respective funds check process will not be called. Ref to bug:2877072 for further details
69 * so the PA encumbrnace entries were missing. In order to fix the above bug this API is created
70 * which calls pa funds check in TRXIMPORT mode so that, the liquidation entries need not be
71 * posted to GL and CBC.
72 * This API will be called twice for each batch of import.
73 * for documnet type - 'CC_C_CO','CC_P_CO' create a unique packet_id and p_ext_budget_type = 'CC'
74 * documnet type - 'CC_C_PAY','CC_P_PAY','AP' create a unique packet_id and p_ext_budget_type = 'GL'
75 * The return status of this API will be 'S' - success, 'F' - Failure, 'T' - Fatal error
76 **/
77 PROCEDURE Pa_enc_import_fck(
78 p_calling_module IN varchar2 default 'CCTRXIMPORT'
79 ,p_ext_budget_type IN varchar2 default 'GL'
80 , p_conc_flag IN varchar2 default 'N'
81 , p_set_of_book_id IN number
82 , p_packet_id IN number
83 , p_mode IN varchar2 default 'R'
84 , p_partial_flag IN varchar2 default 'N'
85 , x_return_status OUT NOCOPY varchar2
86 , x_error_msg OUT NOCOPY varchar2
87 );
88 /** This is tieback API for Contract commitment import process,Once the import process is completed
89 * this api will be called by passing the cbc result code. based on the cbc_result_code the
90 * status of the pa_bc_packets and pa_bdgt_acct_balances will be updated
91 * The return status of this API will be 'S' - success, 'F' - Failure, 'T' - Fatal error
92 **/
93 PROCEDURE Pa_enc_import_fck_tieback(
94 p_calling_module IN varchar2
95 ,p_ext_budget_type IN varchar2 default 'GL'
96 ,p_packet_id IN number
97 ,p_mode IN varchar2 default 'R'
98 ,p_partial_flag IN varchar2 default 'N'
99 ,p_cbc_return_code IN varchar2
100 ,x_return_status OUT NOCOPY varchar2
101 );
102
103 /** This API checks whether the PA is installed in the OU or not to avoid cross charage project
104 * transactions funds check The return status of this API will be 'Y' or 'N'
105 **/
106 FUNCTION IS_PA_INSTALL_IN_OU RETURN VARCHAR2 ;
107
108 /** This API checks whether the budgetary control is enabled or Not for the given project and budget type
109 * The return status of this API will be 'Y' or 'N' */
110 FUNCTION get_fc_reqd_flag(p_project_id number,p_ext_budget_code varchar2) RETURN varchar2;
111
112 /** This API returns budget version id for the given project and external budget type */
113 FUNCTION get_bdgt_version_id(p_project_id number,p_ext_budget_code varchar2) RETURN NUMBER ;
114
115 /** Update the result code of the transactions based on the partial flag, calling mode and p_mode
116 * in autonomous transaction. After updating the result code call the status_code update API
117 * NOTE: THIS API will UPDATE only the RESULT CODE if IMPORT process is FAILS . THIS api marks
118 * all the transactions in pa_bc_packets to 'F155 or F156'
119 */
120 PROCEDURE tie_back_result_code
121 (p_calling_module in varchar2,
122 p_packet_id in number,
123 p_partial_flag in varchar2,
124 p_mode in varchar2,
125 p_glcbc_return_code in varchar2,
126 x_return_status OUT NOCOPY varchar2);
127
128 end PA_CC_ENC_IMPORT_FCK;