Creating AP Checks in Oracle Applications R12 (Automatic Check Printing)
Audience: Should know the basics of Oracle BI Publisher / XML Publisher.
Step 1- Create your own customized template in RTF file format (according to check
format provided by the bank), using BI Publisher, you can get the xml code by
submitting a simple payment, and view the log file of program “Format Payment Instructions” copy
the highlighted portion.
You can download a sample Check format from here
http://www.4shared.com/office/2UYWOpBh/Check_Printing_Format_-_28sep1.html
Step 2- Create data
definition from xml publisher responsibility > Home > Data Definition
|
Creating AP Checks |
Step 3- Create template from xml
publisher responsibility > Home > Templates, also upload template file
|
Creating AP Checks |
Step 4- Go to Payables Manager >
Setup > Payment > Payment Administrator, go to formats (go to task)
option under formats section.
|
Creating AP Checks printing |
Step 5- Create a new check format by
pressing create button
|
Creating AP Checks printing |
Step 6- Enter the
code template in Code field,
Enter desired name of Format (e.g HBL
Format) select Data Extract according to following screenshot, and Enter the name of
Template Created in Step 3
|
Creating AP Checks printing |
Step 7-Create a new payment process profile specific for this payments of this check format.
Step 8- Go to Payables Manager >
Setup > Payment > Payment Administrator, go to Payment
Process Profiles (go to task) option under codes section.
|
Creating AP Checks printing |
Step 8- Query your template created in
step3 by name or by code and select that template.
Step 9- Press update button to update
that template.
|
Creating AP Checks printing |
Step 10- Select
i.
Processing type ‘printed’
ii.
Print file ‘send to printer’
iii.
Disallow Save/Re-Print (if u want to restrict user not to view/save the
file)
iv.
Automatically Print after Formatting (printing will start automatically)
v.
Select your installed printer form printer lov.
|
Creating AP Checks printing |
Make a
payment entry in the system and your printer will start printing you check
automatically, cheers J.
IBY_FD_EXTRACT_EXT_PUB
is a standard PL/SQL package that is used to extend (i.e. add additional tags
to) the XML file generated during a R12 Oracle Payments ‘Payment Process
Request’:
This XML file is then used as the data source for the XML Publisher cheque or
electronic file presentation layout.
To understand how to use IBY_FD_EXTRACT_EXT_PUB, we have to understand the
structure of the XML file created by the Payments process request.
There are 4 main levels to the file. These are:
Top Level: Outbound Payment Instruction
This is the top level of the XML File and there is one Outbound Payment
Instruction per Payment process request.
Level 2: Outbound Payment:
This is the Payment Level i.e. an individual cheque or BACS payment amount to a
supplier. There can be multiple Outbound Payments per Outbound Payment
Instruction.
Level 3: Document Payable:
Details the documents (i.e. invoices) being paid. There can be multiple
Document Payable tags per Outbound Payment
Level 4: Document Payable Line:
This level details the invoice line. There can be multiple Document Payable
Line tags per Document Payable.
Additional XML tags can be added at each of these 4 levels by coding different
PL/SQL functions in IBY_FD_EXTRACT_EXT_PUB.
The following table lists the functions you need to modify to add additional
tags to each level of the XML file:
XML File Level
|
IBY_FD_EXTRACT_EXT_PUB
Function To Modify
|
Example of Parameter
Usage
|
OutboundPaymentInstruction
|
Get_Ins_Ext_Agg(p_payment_instruction_id
IN NUMBER)
|
SELECT *
FROM iby_pay_instructions_all
WHERE payment_instruction_id = p_payment_instruction_id;
|
OutboundPayment
|
Get_Pmt_Ext_Agg(p_payment_id
IN NUMBER)
|
SELECT *
FROM iby_payments_all ipa
WHERE ipa.payment_id = p_payment_id;
|
DocumentPayable
|
Get_Doc_Ext_Agg(p_document_payable_id
IN NUMBER)
|
SELECT *
FROM iby_docs_payable_all dp WHERE dp.document_payable_id =
P_document_payable_id;
|
DocumentPayableLine
|
Get_Docline_Ext_Agg(p_document_payable_id
IN NUMBER, p_line_number IN NUMBER)
|
|
PaymentProcessProfile
|
Get_Ppr_Ext_Agg(p_payment_service_request_id
IN NUMBER)
|
SELECT *
FROM iby_pay_service_requests WHERE payment_service_request_id =
p_payment_service_request_id;
|
Code
Example:
FUNCTION Get_Doc_Ext_Agg(p_document_payable_id
IN NUMBER)
RETURN XMLTYPE
IS
l_ins_ext_agg XMLTYPE;
CURSOR l_ins_ext_csr (p_document_payable_id
IN NUMBER) IS
SELECT XMLConcat(
XMLElement("Extend",
XMLElement("DocSequenceValue", ai.DOC_SEQUENCE_VALUE)
)
)
FROM
iby_docs_payable_all dp,ap_invoices_all ai
WHERE
dp.calling_app_doc_unique_ref2 = ai.invoice_id
AND
dp.document_payable_id = p_document_payable_id;
BEGIN
OPEN l_ins_ext_csr (p_document_payable_id);
FETCH l_ins_ext_csr INTO
l_ins_ext_agg;
CLOSE l_ins_ext_csr;
RETURN l_ins_ext_agg;
END Get_Doc_Ext_Agg;
References:
2-
Doc
ID 562806.1
3-
Following
is the link to Add custom fields to AP checks