30: -- Therefore, we need a separate data structure to keep track
31: -- of the payments that are part of a payment instruction. The
32: -- pmtsInpmtInstrRecType is that data structure.
33: -- After all the grouping operations are completed, the
34: -- IBY_PAYMENTS_ALL table needs to be updated to indicate the
35: -- PAYMENT_INSTRUCTION_ID for each payment that has been put
36: -- into a payment instruction. The pmtsInpmtInstrRecType
37: -- is used for this update.
38: --
40: -- corresponding to these payments.
41: --
42: TYPE pmtsInPmtInstrRecType IS RECORD (
43: payment_id
44: IBY_PAYMENTS_ALL.payment_id%TYPE,
45: pay_instr_id
46: IBY_PAY_INSTRUCTIONS_ALL.payment_instruction_id%TYPE,
47: payment_amount
48: IBY_PAYMENTS_ALL.payment_amount%TYPE,
44: IBY_PAYMENTS_ALL.payment_id%TYPE,
45: pay_instr_id
46: IBY_PAY_INSTRUCTIONS_ALL.payment_instruction_id%TYPE,
47: payment_amount
48: IBY_PAYMENTS_ALL.payment_amount%TYPE,
49: payment_currency
50: IBY_PAYMENTS_ALL.payment_currency_code%TYPE,
51: payment_status
52: IBY_PAYMENTS_ALL.payment_status%TYPE
46: IBY_PAY_INSTRUCTIONS_ALL.payment_instruction_id%TYPE,
47: payment_amount
48: IBY_PAYMENTS_ALL.payment_amount%TYPE,
49: payment_currency
50: IBY_PAYMENTS_ALL.payment_currency_code%TYPE,
51: payment_status
52: IBY_PAYMENTS_ALL.payment_status%TYPE
53: := 'INSTRUCTION_CREATED',
54: profile_id
48: IBY_PAYMENTS_ALL.payment_amount%TYPE,
49: payment_currency
50: IBY_PAYMENTS_ALL.payment_currency_code%TYPE,
51: payment_status
52: IBY_PAYMENTS_ALL.payment_status%TYPE
53: := 'INSTRUCTION_CREATED',
54: profile_id
55: IBY_PAYMENTS_ALL.payment_profile_id%TYPE,
56: processing_type
51: payment_status
52: IBY_PAYMENTS_ALL.payment_status%TYPE
53: := 'INSTRUCTION_CREATED',
54: profile_id
55: IBY_PAYMENTS_ALL.payment_profile_id%TYPE,
56: processing_type
57: IBY_PAYMENT_PROFILES.processing_type%TYPE,
58: pmt_details_len
59: NUMBER,
59: NUMBER,
60: document_count
61: NUMBER,
62: separate_remit_advice_flag
63: IBY_PAYMENTS_ALL.separate_remit_advice_req_flag%TYPE := 'N',
64: check_number
65: IBY_PAYMENTS_ALL.paper_document_number%TYPE
66: );
67:
61: NUMBER,
62: separate_remit_advice_flag
63: IBY_PAYMENTS_ALL.separate_remit_advice_req_flag%TYPE := 'N',
64: check_number
65: IBY_PAYMENTS_ALL.paper_document_number%TYPE
66: );
67:
68: --
69: -- Used to update of the IBY_PAYMENTS_ALL table.
65: IBY_PAYMENTS_ALL.paper_document_number%TYPE
66: );
67:
68: --
69: -- Used to update of the IBY_PAYMENTS_ALL table.
70: --
71: TYPE pmtsInPmtInstrTabType IS TABLE OF pmtsInPmtInstrRecType
72: INDEX BY BINARY_INTEGER;
73:
80: -- This data structure holds all payments that have processing
81: -- type set to 'PAPER' - i.e., payment payments.
82: --
83: TYPE paperPmtsSpecialDocsRecType IS RECORD (
84: payment_id IBY_PAYMENTS_ALL.payment_id%TYPE,
85: instruction_id IBY_PAY_INSTRUCTIONS_ALL.payment_instruction_id%TYPE,
86: num_setup_docs NUMBER,
87: num_overflow_docs NUMBER,
88:
133: IBY_PAY_SERVICE_REQUESTS.calling_app_id%TYPE,
134: pay_service_req_id
135: IBY_PAY_SERVICE_REQUESTS.payment_service_request_id%TYPE,
136: payment_id
137: IBY_PAYMENTS_ALL.payment_id%TYPE,
138: int_bank_acct_id
139: IBY_PAYMENTS_ALL.internal_bank_account_id%TYPE,
140: payment_profile_id
141: IBY_PAYMENTS_ALL.payment_profile_id%TYPE,
135: IBY_PAY_SERVICE_REQUESTS.payment_service_request_id%TYPE,
136: payment_id
137: IBY_PAYMENTS_ALL.payment_id%TYPE,
138: int_bank_acct_id
139: IBY_PAYMENTS_ALL.internal_bank_account_id%TYPE,
140: payment_profile_id
141: IBY_PAYMENTS_ALL.payment_profile_id%TYPE,
142: org_id
143: IBY_PAYMENTS_ALL.org_id%TYPE,
137: IBY_PAYMENTS_ALL.payment_id%TYPE,
138: int_bank_acct_id
139: IBY_PAYMENTS_ALL.internal_bank_account_id%TYPE,
140: payment_profile_id
141: IBY_PAYMENTS_ALL.payment_profile_id%TYPE,
142: org_id
143: IBY_PAYMENTS_ALL.org_id%TYPE,
144: org_type
145: IBY_PAYMENTS_ALL.org_type%TYPE,
139: IBY_PAYMENTS_ALL.internal_bank_account_id%TYPE,
140: payment_profile_id
141: IBY_PAYMENTS_ALL.payment_profile_id%TYPE,
142: org_id
143: IBY_PAYMENTS_ALL.org_id%TYPE,
144: org_type
145: IBY_PAYMENTS_ALL.org_type%TYPE,
146: le_id
147: IBY_PAYMENTS_ALL.legal_entity_id%TYPE,
141: IBY_PAYMENTS_ALL.payment_profile_id%TYPE,
142: org_id
143: IBY_PAYMENTS_ALL.org_id%TYPE,
144: org_type
145: IBY_PAYMENTS_ALL.org_type%TYPE,
146: le_id
147: IBY_PAYMENTS_ALL.legal_entity_id%TYPE,
148: payment_currency
149: IBY_PAYMENTS_ALL.payment_currency_code%TYPE,
143: IBY_PAYMENTS_ALL.org_id%TYPE,
144: org_type
145: IBY_PAYMENTS_ALL.org_type%TYPE,
146: le_id
147: IBY_PAYMENTS_ALL.legal_entity_id%TYPE,
148: payment_currency
149: IBY_PAYMENTS_ALL.payment_currency_code%TYPE,
150: payment_amount
151: IBY_PAYMENTS_ALL.payment_amount%TYPE,
145: IBY_PAYMENTS_ALL.org_type%TYPE,
146: le_id
147: IBY_PAYMENTS_ALL.legal_entity_id%TYPE,
148: payment_currency
149: IBY_PAYMENTS_ALL.payment_currency_code%TYPE,
150: payment_amount
151: IBY_PAYMENTS_ALL.payment_amount%TYPE,
152: payment_date
153: IBY_PAYMENTS_ALL.payment_date%TYPE,
147: IBY_PAYMENTS_ALL.legal_entity_id%TYPE,
148: payment_currency
149: IBY_PAYMENTS_ALL.payment_currency_code%TYPE,
150: payment_amount
151: IBY_PAYMENTS_ALL.payment_amount%TYPE,
152: payment_date
153: IBY_PAYMENTS_ALL.payment_date%TYPE,
154: payment_function
155: IBY_PAYMENTS_ALL.payment_function%TYPE,
149: IBY_PAYMENTS_ALL.payment_currency_code%TYPE,
150: payment_amount
151: IBY_PAYMENTS_ALL.payment_amount%TYPE,
152: payment_date
153: IBY_PAYMENTS_ALL.payment_date%TYPE,
154: payment_function
155: IBY_PAYMENTS_ALL.payment_function%TYPE,
156: payment_reason_code
157: IBY_PAYMENTS_ALL.payment_reason_code%TYPE,
151: IBY_PAYMENTS_ALL.payment_amount%TYPE,
152: payment_date
153: IBY_PAYMENTS_ALL.payment_date%TYPE,
154: payment_function
155: IBY_PAYMENTS_ALL.payment_function%TYPE,
156: payment_reason_code
157: IBY_PAYMENTS_ALL.payment_reason_code%TYPE,
158: payment_reason_comments
159: IBY_PAYMENTS_ALL.payment_reason_comments%TYPE,
153: IBY_PAYMENTS_ALL.payment_date%TYPE,
154: payment_function
155: IBY_PAYMENTS_ALL.payment_function%TYPE,
156: payment_reason_code
157: IBY_PAYMENTS_ALL.payment_reason_code%TYPE,
158: payment_reason_comments
159: IBY_PAYMENTS_ALL.payment_reason_comments%TYPE,
160: pmt_details_length
161: NUMBER,
155: IBY_PAYMENTS_ALL.payment_function%TYPE,
156: payment_reason_code
157: IBY_PAYMENTS_ALL.payment_reason_code%TYPE,
158: payment_reason_comments
159: IBY_PAYMENTS_ALL.payment_reason_comments%TYPE,
160: pmt_details_length
161: NUMBER,
162: pmt_prom_note_flag
163: IBY_PAYMENTS_ALL.bill_payable_flag%TYPE,
159: IBY_PAYMENTS_ALL.payment_reason_comments%TYPE,
160: pmt_details_length
161: NUMBER,
162: pmt_prom_note_flag
163: IBY_PAYMENTS_ALL.bill_payable_flag%TYPE,
164: ppr_id
165: IBY_PAYMENTS_ALL.payment_service_request_id%TYPE,
166: rfc_identifier
167: HZ_CODE_ASSIGNMENTS.class_code%TYPE,
161: NUMBER,
162: pmt_prom_note_flag
163: IBY_PAYMENTS_ALL.bill_payable_flag%TYPE,
164: ppr_id
165: IBY_PAYMENTS_ALL.payment_service_request_id%TYPE,
166: rfc_identifier
167: HZ_CODE_ASSIGNMENTS.class_code%TYPE,
168: payment_method_code
169: IBY_PAYMENTS_ALL.payment_method_code%TYPE,
165: IBY_PAYMENTS_ALL.payment_service_request_id%TYPE,
166: rfc_identifier
167: HZ_CODE_ASSIGNMENTS.class_code%TYPE,
168: payment_method_code
169: IBY_PAYMENTS_ALL.payment_method_code%TYPE,
170: pmt_date_flag
171: IBY_INSTR_CREATION_RULES.group_by_payment_date%TYPE,
172: pmt_curr_flag
173: IBY_INSTR_CREATION_RULES.group_by_payment_currency%TYPE,
237: -- under a payment.
238: --
239: TYPE docsInPmtCountRecType IS RECORD (
240: doc_count NUMBER,
241: payment_id IBY_PAYMENTS_ALL.
242: payment_id%TYPE
243: );
244:
245: --
283: -- Record to hold a payment after sorting. After sorting,
284: -- each payment will be assigned a payment reference number.
285: --
286: TYPE sortedPmtRecType IS RECORD (
287: payment_id IBY_PAYMENTS_ALL.payment_id%TYPE,
288: payment_ref IBY_PAYMENTS_ALL.payment_reference_number%TYPE,
289: instr_id IBY_PAY_INSTRUCTIONS_ALL.payment_instruction_id%TYPE,
290: instr_status IBY_PAY_INSTRUCTIONS_ALL.
291: payment_instruction_status%TYPE,
284: -- each payment will be assigned a payment reference number.
285: --
286: TYPE sortedPmtRecType IS RECORD (
287: payment_id IBY_PAYMENTS_ALL.payment_id%TYPE,
288: payment_ref IBY_PAYMENTS_ALL.payment_reference_number%TYPE,
289: instr_id IBY_PAY_INSTRUCTIONS_ALL.payment_instruction_id%TYPE,
290: instr_status IBY_PAY_INSTRUCTIONS_ALL.
291: payment_instruction_status%TYPE,
292: ca_id IBY_PAY_SERVICE_REQUESTS.calling_app_id%TYPE,
289: instr_id IBY_PAY_INSTRUCTIONS_ALL.payment_instruction_id%TYPE,
290: instr_status IBY_PAY_INSTRUCTIONS_ALL.
291: payment_instruction_status%TYPE,
292: ca_id IBY_PAY_SERVICE_REQUESTS.calling_app_id%TYPE,
293: le_id IBY_PAYMENTS_ALL.legal_entity_id%TYPE,
294: doc_cat_code IBY_PAYMENT_METHODS_VL.document_category_code%TYPE,
295: payment_date IBY_PAYMENTS_ALL.payment_date%TYPE,
296: ledger_id GL_LEDGER_LE_V.ledger_id%TYPE := -1,
297: sequence_number IBY_PAYMENTS_ALL.document_sequence_value%TYPE := -1,
291: payment_instruction_status%TYPE,
292: ca_id IBY_PAY_SERVICE_REQUESTS.calling_app_id%TYPE,
293: le_id IBY_PAYMENTS_ALL.legal_entity_id%TYPE,
294: doc_cat_code IBY_PAYMENT_METHODS_VL.document_category_code%TYPE,
295: payment_date IBY_PAYMENTS_ALL.payment_date%TYPE,
296: ledger_id GL_LEDGER_LE_V.ledger_id%TYPE := -1,
297: sequence_number IBY_PAYMENTS_ALL.document_sequence_value%TYPE := -1,
298: sequence_id FND_DOCUMENT_SEQUENCES.doc_sequence_id%TYPE := -1
299: );
293: le_id IBY_PAYMENTS_ALL.legal_entity_id%TYPE,
294: doc_cat_code IBY_PAYMENT_METHODS_VL.document_category_code%TYPE,
295: payment_date IBY_PAYMENTS_ALL.payment_date%TYPE,
296: ledger_id GL_LEDGER_LE_V.ledger_id%TYPE := -1,
297: sequence_number IBY_PAYMENTS_ALL.document_sequence_value%TYPE := -1,
298: sequence_id FND_DOCUMENT_SEQUENCES.doc_sequence_id%TYPE := -1
299: );
300:
301: --
382: p_comments IN IBY_PAY_INSTRUCTIONS_ALL.
383: comments%TYPE,
384:
385: /*-- selection criteria --*/
386: p_payment_profile_id IN IBY_PAYMENTS_ALL.
387: payment_profile_id%TYPE,
388: p_calling_app_id IN IBY_PAY_SERVICE_REQUESTS.
389: calling_app_id%TYPE,
390: p_calling_app_payreq_cd IN IBY_PAY_SERVICE_REQUESTS.
392: %TYPE,
393: p_payreq_id IN IBY_PAY_SERVICE_REQUESTS.
394: payment_service_request_id
395: %TYPE,
396: p_internal_bank_account_id IN IBY_PAYMENTS_ALL.
397: internal_bank_account_id%TYPE,
398: p_payment_currency IN IBY_PAYMENTS_ALL.
399: payment_currency_code%TYPE,
400: p_le_id IN IBY_PAYMENTS_ALL.
394: payment_service_request_id
395: %TYPE,
396: p_internal_bank_account_id IN IBY_PAYMENTS_ALL.
397: internal_bank_account_id%TYPE,
398: p_payment_currency IN IBY_PAYMENTS_ALL.
399: payment_currency_code%TYPE,
400: p_le_id IN IBY_PAYMENTS_ALL.
401: legal_entity_id%TYPE,
402: p_org_id IN IBY_PAYMENTS_ALL.org_id%TYPE,
396: p_internal_bank_account_id IN IBY_PAYMENTS_ALL.
397: internal_bank_account_id%TYPE,
398: p_payment_currency IN IBY_PAYMENTS_ALL.
399: payment_currency_code%TYPE,
400: p_le_id IN IBY_PAYMENTS_ALL.
401: legal_entity_id%TYPE,
402: p_org_id IN IBY_PAYMENTS_ALL.org_id%TYPE,
403: p_org_type IN IBY_PAYMENTS_ALL.org_type%TYPE,
404: p_payment_from_date IN IBY_PAYMENTS_ALL.payment_date%TYPE,
398: p_payment_currency IN IBY_PAYMENTS_ALL.
399: payment_currency_code%TYPE,
400: p_le_id IN IBY_PAYMENTS_ALL.
401: legal_entity_id%TYPE,
402: p_org_id IN IBY_PAYMENTS_ALL.org_id%TYPE,
403: p_org_type IN IBY_PAYMENTS_ALL.org_type%TYPE,
404: p_payment_from_date IN IBY_PAYMENTS_ALL.payment_date%TYPE,
405: p_payment_to_date IN IBY_PAYMENTS_ALL.payment_date%TYPE,
406:
399: payment_currency_code%TYPE,
400: p_le_id IN IBY_PAYMENTS_ALL.
401: legal_entity_id%TYPE,
402: p_org_id IN IBY_PAYMENTS_ALL.org_id%TYPE,
403: p_org_type IN IBY_PAYMENTS_ALL.org_type%TYPE,
404: p_payment_from_date IN IBY_PAYMENTS_ALL.payment_date%TYPE,
405: p_payment_to_date IN IBY_PAYMENTS_ALL.payment_date%TYPE,
406:
407: /*-- single payments / batch flow identifier --*/
400: p_le_id IN IBY_PAYMENTS_ALL.
401: legal_entity_id%TYPE,
402: p_org_id IN IBY_PAYMENTS_ALL.org_id%TYPE,
403: p_org_type IN IBY_PAYMENTS_ALL.org_type%TYPE,
404: p_payment_from_date IN IBY_PAYMENTS_ALL.payment_date%TYPE,
405: p_payment_to_date IN IBY_PAYMENTS_ALL.payment_date%TYPE,
406:
407: /*-- single payments / batch flow identifier --*/
408: p_single_pmt_flow_flag IN VARCHAR2 DEFAULT 'N',
401: legal_entity_id%TYPE,
402: p_org_id IN IBY_PAYMENTS_ALL.org_id%TYPE,
403: p_org_type IN IBY_PAYMENTS_ALL.org_type%TYPE,
404: p_payment_from_date IN IBY_PAYMENTS_ALL.payment_date%TYPE,
405: p_payment_to_date IN IBY_PAYMENTS_ALL.payment_date%TYPE,
406:
407: /*-- single payments / batch flow identifier --*/
408: p_single_pmt_flow_flag IN VARCHAR2 DEFAULT 'N',
409:
1200: *---------------------------------------------------------------------*/
1201: PROCEDURE deriveDistinctAccessTypsForIns(
1202: p_instruction_id IN IBY_PAY_INSTRUCTIONS_ALL.payment_instruction_id
1203: %TYPE,
1204: p_pmt_function IN IBY_PAYMENTS_ALL.payment_function%TYPE,
1205: p_org_id IN IBY_PAYMENTS_ALL.org_id%TYPE,
1206: p_org_type IN IBY_PAYMENTS_ALL.org_type%TYPE,
1207: x_pmtFxAccessTypesTab IN OUT NOCOPY distinctPmtFxAccessTab,
1208: x_orgAccessTypesTab IN OUT NOCOPY distinctOrgAccessTab
1201: PROCEDURE deriveDistinctAccessTypsForIns(
1202: p_instruction_id IN IBY_PAY_INSTRUCTIONS_ALL.payment_instruction_id
1203: %TYPE,
1204: p_pmt_function IN IBY_PAYMENTS_ALL.payment_function%TYPE,
1205: p_org_id IN IBY_PAYMENTS_ALL.org_id%TYPE,
1206: p_org_type IN IBY_PAYMENTS_ALL.org_type%TYPE,
1207: x_pmtFxAccessTypesTab IN OUT NOCOPY distinctPmtFxAccessTab,
1208: x_orgAccessTypesTab IN OUT NOCOPY distinctOrgAccessTab
1209: );
1202: p_instruction_id IN IBY_PAY_INSTRUCTIONS_ALL.payment_instruction_id
1203: %TYPE,
1204: p_pmt_function IN IBY_PAYMENTS_ALL.payment_function%TYPE,
1205: p_org_id IN IBY_PAYMENTS_ALL.org_id%TYPE,
1206: p_org_type IN IBY_PAYMENTS_ALL.org_type%TYPE,
1207: x_pmtFxAccessTypesTab IN OUT NOCOPY distinctPmtFxAccessTab,
1208: x_orgAccessTypesTab IN OUT NOCOPY distinctOrgAccessTab
1209: );
1210: