目前分類:Oracle Support Doc (9)

瀏覽方式: 標題列表 簡短摘要

Applies to:

Oracle Receivables - Version 12 and later
Information in this document applies to any platform.
FND_REQUEST.SUBMIT_REQUEST
ARLPLB

Purpose

This sample code will demonstrate the API: FND_REQUEST.SUBMIT_REQUEST to call Process Lockboxes program (ARLPLB) in Release 12.

Requirements

SQL*Plus or Oracle SQL Developer to execute the script

Configuring

The Lockbox process takes the below parameters, text in parenthese are the field names within arlplb.opc:

  1. new transmission (Y/N) (NEW_TRANSMISSION)
  2. transmission_id (LB_TRANSMISSION_ID)
  3. original request id (ORIG_REQUEST_ID)
  4. transmission name (TRANSMISSION_NAME)
  5. submit import (Y/N) (SUBMIT_IMPORT)
  6. datafile (DATA_FILE)
  7. control file (CNTRL_FILE)
  8. transmission format id (TRANSMISSION_FORMAT_ID)
  9. submit validation (Y/N) (SUBMIT_VALIDATION)
  10. pay unrelated invoices (Y/N) (PAY_UNRELATED_INVOICES)
  11. lockbox ID (LOCKBOX_ID)
  12. gl date (GL_DATE)
  13. report format (REPORT_FORMAT)
  14. complete batches only (Y/N) (COMPLETE_BATCHES_ONLY)
  15. submit postbatch (Y/N) (SUBMIT_POSTBATCH)
  16. alternate name search option (ALTERNATE_NAME_SEARCH)
  17. post partial amount or reject entire receipt (Y/N) (IGNORE_INVALID_TXN_NUM)
  18. USSGL transaction code (USSGL_TRN_CODE)
  19. Organization Id (ORG_ID)
  20. Apply Unearned Discount (Y/N) (APPLY_UNEARN_DISC)
  21. Number of Instances (1-99) (NO_OF_INSTANCES)
  22. Source type flag (S - SmartCash or L - Lockbox) (SOURCE_TYPE_FLAG)
  23. scoring model Id (SCORING_MODEL_ID)

Considering the definition of the concurrent program is volatile and may change over time, you can always check for the parameters as follows:

Responsibility: System Administrator
Navigation: Concurrent > Program > Define

Run a search on Short Name = ARLPLB and scan through the list of parameters

Please ensure to modify the input parameters accordingly and send either "Y" or "N".

Note:
1) Apply Unearn discounts parameter has been introduced as part of Bug 9288902 SETUP OPTION NOT TO CALCULATE UNEARNED DISC FOR APPLICATIONS VIA LOCKBOX.
2) The parameter for "Source type flag" should be passed in as "L", otherwise, you might find following error:

ARLPLB module: Process Lockboxes

Creating new row in ar_batches
Inserted batch and updated last_batch_num
Submission is Smartcash, bypassing insert to Interim tables.
No more receipts for this batch
No more batches for this lockbox

Instructions

1. You must run this code in the APPS schema.
2. Your options to run the code are:
You can save the code in a PL/SQL package and register the procedure as a concurrent program to run from within the application
You can run it stand alone directly from PL/SQL.

Caution

This sample code is provided for educational purposes only, and is not supported by Oracle Support. It has been tested internally, however, we do not guarantee that it will work for you. Ensure that you run it in your test environment before using.

Sample Code

To set the proper context when running the process through a script, you need to determine the value for USER_ID and RESPONSIBILITY_ID. This provides information to the process so that it can simulate running as if you were logged into the Oracle Receivables application.

SELECT USER_ID,RESPONSIBILITY_ID,
RESPONSIBILITY_APPLICATION_ID, SECURITY_GROUP_ID
FROM FND_USER_RESP_GROUPS
WHERE USER_ID = (SELECT USER_ID
FROM FND_USER
WHERE USER_NAME = '&user_name')
AND RESPONSIBILITY_ID = (SELECT RESPONSIBILITY_ID
FROM FND_RESPONSIBILITY_VL
WHERE RESPONSIBILITY_NAME = '&resp_name');


You can also retrieve the above values using Help > Diagnostics > Examine menu from the application.
Block = $PROFILE$
Field = RESP_ID and USER_ID (APPL_ID is always 222)

SET SERVEROUTPUT ON;

DECLARE
v_return_val Number;

BEGIN
--Values shown here need to be replace with actual value

--fnd_global.apps_initialize(&user_id, &resp_id, &appl_id);
fnd_global.apps_initialize(1318, 50559, 222);

--mo_global.set_policy_context('S',&org_id);
mo_global.set_policy_context('S',204);

--fnd_request.set_org_id(&org_id);
fnd_request.set_org_id(204);

v_return_val := fnd_request.submit_request
('AR',    -- Application short name
'ARLPLB', -- program short name
NULL,     -- program name
NULL,     -- start date
FALSE,    -- sub-request
-- the following are ARLPLB parameters:
'Y',      --1. new transmission
NULL ,    --2. transmission_id
NULL ,    --3. original request id
'ptotatest10',  --4. transmission name
'Y',            --5. submit import
'/test.dat', --6. datafile
'ardeft', --7. control file
100,      --8. transmission format id
'N',      --9. submit validation
NULL ,    --10. pay unrelated invoices
NULL ,    --11. lockbox ID
NULL ,    --12. gl date
NULL ,    --13. report format
'Y',      --14. complete batches only
'N',      --15. submit postbatch
'N',      --16. alternate name search option
'N',      --17. post partial amount or reject entire receipt
NULL ,    --18. USSGL transaction code
204,      --19. Organization Id
'Y'       --20. apply unearn discounts
1,        --21. Number of instances
'L',      --22. Source Type Flag
1        --23. scoring model)
);
dbms_output.put_line('Concurrent Request ID :' || v_return_val);
COMMIT;
END;

文章標籤

Somebaby 發表在 痞客邦 留言(0) 人氣()

Applies to:

Oracle Payables - Version 12.2.12 and later
Oracle Enterprise Command Center Framework - Version 12.2.12 to 12.2.12 [Release 12.2]
Information in this document applies to any platform.

Goal

How to Grant Privileges to access Enterprise Command Center (ECC)?

Solution

User will need to log into Instance using SYSADMIN User.

Navigation:

1. User Management Responsibility -- > Roles & Role Inheritance Page

2.  Query Code UMX%AP%ECC%

3. Go

4. Choose "Quick Select"

5. Expand and confirm "Add Node" is active

6. Payables Command Center Access Role should have Node added.

7. Once done, clear the cache and re test.

文章標籤

Somebaby 發表在 痞客邦 留言(0) 人氣()

In this Document

  Goal
  Solution
  Table FND_LOBS
  Table FND_DOCUMENTS
  Table FND_ATTACHED_DOCUMENTS
  Concurrent program "Purge Obsolete Generic File Manager Data" - FNDGFMPR
  More documentation
  References

 

Applies to:

Oracle Payables - Version 12.2.10 and later
Information in this document applies to any platform.

Goal

How to purge attachments in with no expiration date to reduce the size of the FND_LOBS LOBSEGMENT?

Per MOS document How To Purge FND_LOBS "export" Records With No EXPIRATION_DATE, ran the program "Purge Obsolete Generic File Manager Data" in the following scenarios:

  • With parameters Expired => No & Program Name => export.  It completed file and purged records from FND_LOBS for Program "export" and program "FND_HELP"
  • But, with parameters Expired => No & Program Name => FNDATTCH , is NOT deleting records from FND_LOBS for program "FNDATTCH".

Even after the executions described, the FND_LOBS table still storing hundreds of gigabytes of space and the LOBSEGMENT linked to table FND_LOB occupies hundreads of gigabytes.  The following SQL from MOS document FAQ - Performance Considerations For FND_LOBS shows this:

SELECT program_name
     , COUNT(0)
     , ROUND( SUM (( DBMS_LOB.getlength(file_data)-1)/1024/1024/1024),1 ) size_gb
  FROM FND_LOBS
 GROUP BY program_name
 ORDER BY size_gb DESC ;
PROGRAM_NAME    COUNT(0)   SIZE_GB
--------------- -------- ---------
FNDATTCH          865331     416.7
                  175993      18.8
SELECT SUM(bytes)/1024/1024/1024
     , s.segment_name, s.segment_type
  FROM DBA_LOBS l
     , DBA_SEGMENTS s
 WHERE s.segment_type = 'LOBSEGMENT'
   AND l.table_name = 'FND_LOBS'
   AND s.segment_name = l.segment_name
 GROUP BY s.segment_name,s.segment_type ;
OWNER    OBJECT_NAME                OBJECT_TYPE CREATED    TABLESPACE_NAME  SUM(B.BYTES/1024/1024/1024)
-------- -------------------------- ----------- ---------- --------------- ----------------------------
APPLSYS  SYS_LOB0000034032C00004$$  LOB         14-MAY-00  APPS_TS_MEDIA                     674.401855

 

Solution

Table FND_LOBS

FND_LOBS stores information about all LOBs managed by the Generic File Manager (GFM). Each row includes the file identifier, name, content-type, and actual data.
Each row also includes the dates the file was uploaded and will expire, the associated program name and tag, and the language and Oracle characterset.

The file data, which is a binary LOB, is stored exactly as it is uploaded from a client browser, which means that no translation work is required during a download to
make it HTTP compliant. Therefore uploads from non-browser sources will have to prepare the contents appropriately (for instance, separating lines with CRLF).

The program_name and program_tag may be used by clients of the GFM for any purpose, such as striping, partitioning, or purging the table if the program is de-installed.
They are otherwise strictly informative. These columns and the expiration date are properly set when the procedure FND_GFM.CONFIRM_UPLOAD is called.
If not called, the column expiration_date remains set, and will eventually be purged by the procedure FND_GFM.PURGE_EXPIRED.

Table Structure:

  Name                   Null?    Type
  ---------------------- -------- ----------------
  FILE_ID                NOT NULL NUMBER
  FILE_NAME                       VARCHAR2(256)
  FILE_CONTENT_TYPE      NOT NULL VARCHAR2(256)
  FILE_DATA                       BLOB
  UPLOAD_DATE                     DATE
  EXPIRATION_DATE                 DATE
  PROGRAM_NAME                    VARCHAR2(32)
  PROGRAM_TAG                     VARCHAR2(32)
  LANGUAGE                        VARCHAR2(4)
  ORACLE_CHARSET                  VARCHAR2(30)
  FILE_FORMAT            NOT NULL VARCHAR2(10)

Many DISTINCT values in column PROGRAM_NAME, FNDATTCH is among them:

  PROGRAM_NAME
  --------------------------------
  BIAF_FR_XML
  HRMS_ADI
  FNDATTCH
  FOLDER_VERIFY
  export
  IBCCITEM - LOAD SEED ROW
  GCS
  PERWSIMG
  IBE
  FND_HELP
  Oracle E Records
  PAY_166_12_ar_KW.pdf
  PER_WS1_gb_UK.pdf
  PER_WS4_gb_UK.pdf
  ...
  ...
  PAY_R167_ar_KW.rtf
  PER_VIS_ar_AE.pdf
  PER_PASS_ar_AE.pdf
  ...
  ...
  PAY_MCP_ar_AE.rtf
  PERDTUPR.rtf
  PAY_NL_IZA_NLTMP.rtf

  68 rows selected.

 

Table FND_DOCUMENTS

This table stores language-independent information about a document. For example, each row contains a document identifier, a category identifier, the method of security used for the document (SECURITY_TYPE, where 1=Organization, 2=Set of Books, 3=Business unit, 4=None), the period in which the document is active, and a flag to indicate whether or not the document can be shared outside of the security type (PUBLISH_FLAG).

Other specifications in this table include: datatype (DATATYPE_ID, where 1=short text, 2=long text, 3=image, 4=OLE object, 5=Web Page, 6=File, etc)

The document can be referenced by many application entities and changed only in the define document form (USAGE_TYPE=S); it can be used as a fill-in-the-blanks document, where each time you use a template, you make a copy of it (USAGE_TYPE=T); or it can be used only one time (USAGE_TYPE=O). Images and OLE Objects cannot be used as templates.

These documents are the ones linked to an EBS entity/transaction, like for example, a Payables Invoice or Payment, or a Purchasing Purchase Order, etc.

FND_LOBS links to FND_DOCUMENTS via the MEDIA_ID column (to match FND_LOBS FILE_ID).

 

Table FND_ATTACHED_DOCUMENTS

This table stores information relating a document to an application entity. For example, a record may link a document to a sales order or an item. Each row contains foreign keys to FND_DOCUMENTS and FND_DOCUMENT_ENTITIES.  FND_DOCUMENT_ENTITIES lists each entity to which attachments can be linked. For example, attachments can be linked to Items, Sales Orders, Invoices, etc.

Per above, the following SQL should show the list of entities related to Payables (AP):

SELECT entity_name, table_name
FROM FND_Document_Entities
WHERE application_Id = 200 /* Oracle Payables */ ;
ENTITY_NAME                TABLE_NAME
-------------------------- ------------------------------
AP_CHECKS                  AP_CHECKS
AP_INVOICES                AP_INVOICES
                           PO_VENDOR_SITES
                           AP_EXPENSE_REPORT_HEADERS
                           AP_INVOICES_INTERFACE
                           AP_RECURRING_PAYMENTS
                           AP_INVOICES
PO_VENDORS                 PO_VENDORS
8 rows selected.

This shows how all documents of entity_name AP_INVOICES, refer to attachments to Invoices, Expense Reports, Recurring Payments, etc.

 

Concurrent program "Purge Obsolete Generic File Manager Data" - FNDGFMPR

Concurrent parameters are:

  • Expired: Yes/No.
  • Program Name:  The distinct program names stored in table FND_LOBS.  POssible values are: FNDATTCH, FND_HELP, PERWSIMGm, etc.
  • Program Tag:  Also, the distinct progam tags sotred in table FND_LOBS for a given "Program Name".
  • Purge Orphaned:  Yes/No.

Concurrent Executable is the PLSQL call to Server-side API FND_GFM.Purge.  Package FND_GFM source files are:

  • Package Body - $FND_TOP/patch/115/sql/AFGFMB.pls
  • Package Specification - $FND_TOP/patch/115/sql//AFGFMS.pls

When the concurrent program FNDGFMPR executes, API FND.GFM.Purge calls procedure fnd_gfm.purge_expired or procedure fnd_gfm.purge_set as follow:

  • IF concurrent program is called with program name FNDATTCH and Expired parameter set to anything other than "No" (N)
    THEN it calls fnd_gfm.purge_expired ( 'FNDATTCH', [Purge Orphanded] ); 
  • ELSE it calls fnd_gfm.purge_set ( 'FNDATTCH', [Program Tag] );

 

So to the following to reduce the FND_LOBS LOBSEGMENT size:

 

  1. Run concurrent "Purge Obsolete Generic File Manager Data" executed with parameters:
    Program Name = FNDATTCH,  Expired = Yes, and Purge Orphaned = Yes
  2. To confirm the effect of this, run the following SQL:
    SELECT count(*)
      FROM FND_LOBS FL 
     WHERE NOT EXISTS (SELECT '1'  FROM FND_DOCUMENTS FD  WHERE FD.MEDIA_ID = FL.FILE_ID  AND FD.DATATYPE_ID = 6)
       AND PROGRAM_NAME = 'FNDATTCH'
       AND EXPIRATION_DATE IS NULL ;
    For the particular case that originated this MOS document, this step removed 3175 records.
     
    IMPORTANT:  The records removed by the program are records that have NO link or reference to a particular Application Document (Table FND_DOCUMENTS). Hence, the "NOT EXIST" condition in the SQL.
  3. Now, run the following SQL to check for records in FND_LOBS linked to a FND_DOCUMENT.  Notice we removed the "NOT" from the "NOT EXISTS" statement:  
    SELECT count(*) 
      FROM FND_LOBS FL 
     WHERE EXISTS (SELECT '1'  FROM FND_DOCUMENTS FD  WHERE FD.MEDIA_ID = FL.FILE_ID  AND FD.DATATYPE_ID = 6) 
       AND PROGRAM_NAME = 'FNDATTCH'  AND EXPIRATION_DATE IS NULL ;  
    For the particular case that originated this MOS document, this SQL returned almost 900K records.  This is 900K records in FND_LOBS linked to real EBS Applications Documents Files (DataType= 6) that belong to an EBS application module - transaction/entity, like a Payables Invoice or a Purchasing PO.
  4. Check on these transactions "Upload Dates" (since the expiration date is NULL), using: 
    SELECT COUNT(*), TO_CHAR(upload_date, 'YYYY') upload_Year
      FROM FND_LOBS
     WHERE PROGRAM_NAME = 'FNDATTCH'
       AND expiration_date is NULL
     GROUP BY TO_CHAR(upload_date, 'YYYY')
     ORDER BY 2 ;
    For the particular case that originated this MOS document, this SQL returned the following:
     
         COUNT(*) UPLOAD_YEAR
    ---------- -----------
         58699 2015
         80043 2016
         93663 2017
         94081 2018
        118106 2019
        118335 2020
        120961 2021
        102911 2022
        110001 2023
          9846 2024
    10 rows selected.
     Notice there is 10 years of transactions attachments.
  5. Perhaps they need to review their Transaction Retention Policies.

    For transaction related attachments, there is are Purge programs. For example for AP, there is the "Submit Purge" form.  This is a form you can find under the responsibility "Payables Purge".  This form executable file is APXPGSUB.  In this form, the user creates a "Purge" definition that includes a Name, a category which my varies of what needds to be purged; like: Single Invoices, Invoices and POs, Suppliers, etc.  The user also must give the "Last Activity Date" which is the date used to fetch the transactions to purge.  The basic idea is that the Purge will fetch all transactions for which Last Update Date on any of its linked records (Accounting, payment, POs , etc) is before the parameter date entered.

     
    The records purged by the module -specific purge program, include attachments.

    How to run the Payables Purge program:
    1. Login Oracle Applications using a Payables Purge responsibility.
    2. Open the "Submit Purge" form
      (N) Purge 
    3. Create a new "Purge Definition" in the "Submit Purge" form.
       
    4. Once you save the new Purge definition record, you get the button to [Initiate].
      This button will submit the concurrent program "AP/PO Purge Initiation (Selection) Routine" - APXPGSEL
      This program will fetch the records to be purge and create a "preliminary" report for the user to review and decide if they want to proceed with the purge.
      The "Purge definition" will refresh on the screen and now you see the buttons to [Abort], [Restart], or [Confirm]
      Each button has its own concurrent program.  In particular, [Confirm] will run the "AP/PO Purge Deletion Routine" to perform the actual DELETEs from the tables, like AP_INVOICES, AP_INVOICE_LINES, AP_CHECKS, PO_HEADERS, etc depending on the conditions and category set.
      The Purge Deletion routine spawns child process that run in parallel (for better performance).

       
      For the particular case that originated this MOS document, a Payable Purge was submitted with a "Last Activity Date" of 2015.  This purged 377 Invoices (with Lines and distributions, etc), 105 checks, and 203 POs, among other records.  Some attachments were purged as well.
         
  6. Recheck the table FND_LOBS and the LOBSEGMENT using the SQLs given above.
    For the particular case that originated this MOS document, the table and segement size started to decrease after many additional executions of the Payable Purge.
  7. The following SQL should show the count "Totals" of records in FND_LOBS linked to any Payables transaction:
     
    • Totals for Payables: 
      SELECT COUNT(*), TO_CHAR( FLS.upload_date, 'YYYY' ) Upload_Yr, FDE.entity_name, FDE.table_name, FDS.datatype_ID
      FROM FND_ATTACHED_DOCUMENTS FAD
      , FND_DOCUMENTS FDS
      , FND_LOBS FLS
      , FND_DOCUMENT_ENTITIES FDE
      WHERE 2=2
      AND FLS.file_ID = FDS.media_Id
      AND FAD.document_ID = FDS.document_ID
      -- AND FDS.datatype_ID = 6
      AND FLS.program_name = 'FNDATTCH'
      AND FAD.entity_name = FDE.entity_name
      AND FDE.application_ID = 200 -- >> ONLY PAYABLES
      GROUP BY TO_CHAR( FLS.upload_date, 'YYYY' ), FDE.entity_name, FDE.table_name, FDS.datatype_ID
      ORDER BY 2, 3, 4, 5 ;
       
    • For details on the transactions: 
      SELECT -- COUNT(*)
      TO_CHAR( FLS.upload_date, 'YYYY' ) Upload_Yr, FDE.entity_name, FDE.table_name, FDS.datatype_ID, PK1_VALUE, PK2_VALUE
      FROM FND_ATTACHED_DOCUMENTS FAD
      , FND_DOCUMENTS FDS
      , FND_LOBS FLS
      , FND_DOCUMENT_ENTITIES FDE
      WHERE 2=2
      AND FLS.file_ID = FDS.media_Id
      AND FAD.document_ID = FDS.document_ID
      -- AND FDS.datatype_ID = 6
      AND FLS.program_name = 'FNDATTCH'
      AND FAD.entity_name = FDE.entity_name
      AND FDE.application_ID = 200
      -- GROUP BY TO_CHAR( FLS.upload_date, 'YYYY' ), FDE.entity_name, FDE.table_name, FDS.datatype_ID
      ORDER BY 1, 2, 3, 4 ;
      1.   
     
    1.     

 

More documentation

To get more information about Payabels Purging, please refer to Chapter 9 - Resource Management of the "Oracle® Payables User's Guide Release 12.2" - Part No. E48760-17; in PDF or Web formats.

Here you will find all about:

  • Criteria for Purging Records
  • Submitting Purges
  • Viewing the Status of a Purge
  • Aborting a Purge / Restarting a Purge
  • Purge Reports: Preliminary Purged Listings, Final Purged Listings, etc.



.

References

NOTE:298698.1 - Avoiding Abnormal Growth of FND_LOBS Table Due To Attachments Data In E-Business Suite Applications
NOTE:1998077.1 - Automated Troubleshooting Process
NOTE:1165208.1 - Concurrent Request "Purge Obsolete Generic File Manager Data" Methods
NOTE:829235.1 - FAQ - Performance Considerations For FND_LOBS
NOTE:242090.1 - SEGMENT SHRINK and Details.
NOTE:2768387.1 - How To Purge FND_LOBS "export" Records With No EXPIRATION_DATE
NOTE:1288149.1 - How To Manage, Reduce, and/or Purged The FND_LOBS Table?
NOTE:752322.1 - Reducing the Oracle E-Business Suite Data Footprint
NOTE:1163933.1 - Table FND_LOBS Shows Columns PROGRAM_NAME And UPLOAD_DATE As Null For Attachments
NOTE:1320736.1 - AP: How To Create and Capture an FND Debug Logfile
NOTE:303709.1 - E-Business Suite Database For Applications Technology Stack Reclaiming Unused Space In A EBS Tablespace By Reducing The Size Of The Datafiles
文章標籤

Somebaby 發表在 痞客邦 留言(0) 人氣()

Applies to:

Oracle Warehouse Management - Version 11.5.10 and later
Information in this document applies to any platform.

Goal

This document will help users to modify mobile  pages without doing customization.

Solution

Attached to this note is a Technical Brief which discusses various scenarios of modifying mobile pages. Mobile Personalization Technical Brief.

文章標籤

Somebaby 發表在 痞客邦 留言(0) 人氣()

Applies to:

Oracle General Ledger - Version 12.2 and later
Information in this document applies to any platform.

Goal

How to disable the consolidation definition?
 

Solution

There is no option to disable the Consolidation definition.

As an workaround we can perform the following steps:

  1. Login to General Ledger responsibility.
  2. Navigate to Consolidation > Define > Consolidation
  3. Consolidation definition form have 'Enable Security'. Users can use this feature to give View Only access to one of the Consolidation definition at the responsibility level. By enabling this feature we can restrict the user from running consolidation program.
  4. In addition to this users can also add a prefix to consolidation definition which you do not want to use.

References

NOTE:2054823.1 - How to Hide the AutoPost Option in the GLXCORUN Transfer Consolidation Data Form?
NOTE:1089532.1 - Assign Access Button is Invisible in the Consolidation Definition Form
NOTE:415901.1 - How to Properly Assign/Remove Definition Access Sets in Oracle General Ledger R12
NOTE:2187030.1 - How to Set Multiple Privileges for Definition Access Sets
NOTE:735944.1 - R12: Definition Access Set Restricts All Responsibilities
NOTE:1951967.1 - How to Make Function Read Only for Chart of Accounts Mappings - Segment Rules (GLXCOMAP)

文章標籤

Somebaby 發表在 痞客邦 留言(0) 人氣()

In this Document

  Abstract
  History
  Details
  1. Introduction
  2. Automatic Matching Rules and Automatic Matching Rule Sets
  2.1 Automatic Matching Rules
  2.2 Automatic Matching Rule Sets
  3. Assign Automatic Matching Rule Sets
  3.1 Receipt Level
  3.2 System Options Level
  4. Remittance Lines
  5. Automatic Cash Application Master Program
  6. Files involved
   
  Summary
  References

 

Applies to:

Oracle Receivables - Version 12.2.6 and later
Information in this document applies to any platform.

Abstract

This functionality was originally controlled by Development, and although it has been enabled widely from 12.2.6+ versions of the application, its use has some limitations, especially with performance.

 

History

Created date: MAY-2024

Details

NOTE: In the images below and/or the attached document, user details / company name / address / email / telephone number represent a fictitious sample (based upon made up data used in the Oracle Demo Vision instance).  Any similarity to actual persons, living or dead, is purely coincidental and not intended in any manner. 

1. Introduction

This functionality is supported from 12.2.7 and above.

The functionality described in this document provide an automated method to apply any unapplied receipt, regardless of the source of origin, to outstanding receivables transactions at the header level, partially or in full. The automated process works based on the user-defined matching rules.

This automatic cash application process affects any fully or partially unapplied receipts (manual, automatic, lockbox, quick cash, and prepayment) and all outstanding AR transactions (invoices, debit memos, chargebacks and deposits).

The application process occurs at the transaction header level, partially or in full and the receipt that is applied can be either manually entered in the system or uploaded automatically by any supported method.

The receipt can be applied on any transaction created for the customer entered on receipt header (across customer sites within customer account) or any 3rd party payer (across a group of associated customers).

It is performed by the Automatic Cash Application Master program which can be invoked explicitly or internally in the code.

The screenshots appearing on this note correspond to 12.2.10 application version.

 

2. Automatic Matching Rules and Automatic Matching Rule Sets

Automatic Cash Application Master program applies receipts using the Automatic Matching Rules Sets defined by the user. 

(Note:  Please do not confuse with Autocash Rules Sets, Application Rules Sets or Cash Application Owner Assignment rules, these belong to other setup)

 

To create and maintain Automatic Matching Rules and Automatic Matching Rules Sets, please use the following navigation path:

Using: Receivables Manager responsibility

Nav: Setup > Receipts > Automatic Matching Setup.

 

The navigation leads to a page that has 2 tabs:

  • Automatic Matching Rules tab – this allow users to create, update and view automatic matching rules
  • Automatic Matching Rule Sets tab  – this allow users to create, update and view automatic matching rule sets

 

2.1 Automatic Matching Rules


Use this tab to search, create, or update automatic matching rules.

 

 Receipts: Setup and Usage of A

 

 

To create an automatic matching rule:

 

 Receipts: Setup and Usage of A

 

 When clicking on Create button in the above screen, the landing page contains two main sections:

    1. The Rule Information section which contains the matching criteria
    2. The Transformations section which allows users to define string functions to be applied to the remittance reference and document number before system attempts to find a match for the receipt.

 

 Receipts: Setup and Usage of A

 

 

  Rule Information section

  Receipts: Setup and Usage of A

 

 This section contains following fields:
     - Rule Name
     - Description
     - Effective From
     - Effective To
     - Match Type:  This field determines the type of match the rule will use. This field cannot be updated once the rule is already assigned to a rule set.
           There are 2 types of matching:
            >> Exact match  (this was not included in earlier versions of this feature).
                 Use this when want the receivable application to happen if the document number in the remittance line (reference number) matches exactly to the document number in the system.
                 If there are rule transformations defined, the exact match evaluation is done after the transformations has been applied..
            >> Scoring Match, this will use the match score that is calculated using the Levenshtein distance algorithm.  When selecting this option, 2 additional fields are required:

Receipts: Setup and Usage of A

                   >>>  Threshold for Automatic Match (%) 
                           Threshold for Automatic Match defines the minimum match score a match must have for system to automatically apply the remittance line to the transaction corresponding to the match.
                           Enter a threshold equal to or greater than 80%.
                   >>>  Threshold for Suggested Match (%):
                           Threshold for Suggested Match defines the minimum match score a match must have for system to consider it as a match suggestion.
                           Enter a threshold which is lesser than the threshold for automatic match and equal to or greater than 60%.
                           If the match score is less than the automatic match tolerance but greater than suggested match tolerance then those matches will be made available to user as suggested matches.
                           User can manually review the suggested matches and apply them, if appropriate.
                           The suggestions will appear in the Suggested Transaction Matches section of the Remittance Lines menu option after querying the receipt, or through the Cash Application Work Queue form.
        
     - Match Document Number By:  User can select any of the below attributes to which the rule will be applied for matching.
       The attribute chosen here is the attribute from the transaction that will get matched to the remittance line reference to do the cash application.
       These list was enhanced to include the line level attributes in case of line level application is to be performed. Please be aware that the list of values in the form does not show the items in alphabetical order.
    
        •    Transaction Number
        •    Header Sales Order Number
        •    Line Sales Order Number
        •    Purchase Order Number
        •    Way Bill Number
        •    Balance Forward Bill Number
        •    Trailer Number
        •    Service Contract Number
        •    Reference Number
        •    Interface Header Attribute1 to Interface Header Attribute15
        •    Transaction Header DFF Attribute1 to Attribute15
        •    Line Transaction Flexfield Attribute1 to Attribute15
        •    Transaction Line DFF Attribute1 to Attribute15
        
        The use of line level attributes might add a performance issue when searching for the match, because is trying to match with data in ra_customer_trx_lines_all table.
        
    - Match Customer Reference Number By:  This field is available only when the Match Type is Exact Match.
      All the attributes provided for the document number matching will be available for selection for the customer reference matching also, but the same attribute cannot be selected for both document number and
      customer reference matching.
      The customer reference provided on the remittance line can be used as a secondary matching criterion when the matching is based on the exact match.
      System will try to find an exact match for both, the document number and customer reference number. The receipt will be automatically applied only if a unique match found for both the attributes.

 

 Receipts: Setup and Usage of A

 

Transformations section

 

Receipts: Setup and Usage of A


The Transformations region allows the user to define how a remittance reference and transaction attributes values should be transformed for the purpose of matching. The string transformation can be performed on the Reference value (or Customer Reference value) of the remittance line, as well as on the value of the attribute selected in Match Document Number by and Match Customer Reference by form fields.

The string functions defined here will be applied before system attempts to find a match for the receipt.

User can add multiple transformation rows for each of the numbers.

Defining transformation records is optional. User can create an automatic matching rule without creating any rules for transforming remittance reference and document numbers. You can do none, both, or any.

Multiple rows will be interpreted as having an AND Boolean operator. Each transformation row will be executed in the order of sequence number. When multiple transformation rows are defined the result from the prior transformation row is passed to the next transformation row and so on for performing string transformations.

String transformation is performed as follows:
- If the String Value is ‘Space’ then all spaces will be removed from either front or end of the string based on the value given for String Location field.
- If the String Value is ‘Zero’ then all zeros will be removed from either front or end of the string based on the value given for String Location field.
- If the String Value is ‘Any’ then system will remove specific number characters from either front or end of the string based on the values given for String Location field and No. of Characters fields.
- If the String Location is ‘Floating’ the system will remove all occurrences of the character(s) specified in the String Value field.

When using rule Match Type as Exact Match, you can setup the Transformations section for both document number and customer reference. There are 2 tabs to accomplish this:

>> Document Number Matching tab, this is applicable when using the Match Document Number by field.
      Inside this tab there are 2 sections:

a. Remittance Reference Number, this applies to the Reference Number value in the remittance line.
b. Remittance Invoice Number, this applies to the transaction attribute chosen in the Match Document Number by field, not necessarily refers to Invoice Number as the name seems to imply.

        >> Customer Reference Matching tab, this is applicable when selecting Match Customer Reference by field.
             Inside this tab there are 2 sections:

a. Remittance Reference Number, this applies to the Customer Reference value in the remittance line.
b. Remittance Invoice Number, this applies to the transaction attribute chosen in the Match Document Number by field, not necessarily refers to Invoice Number as the name seems to imply.

When using rule Match Type as Scoring Match, you can setup the Transformations section for only the document number.

 

 

2.2 Automatic Matching Rule Sets

Use this tab to search, create, or update the automatic matching rule sets.

An automatic matching rule set consist of one or several automatic matching rules. 

 

Receipts: Setup and Usage of A

 

 

 To create an automatic matching rule set, click on Create button above, which lands on this page below:

 

 Receipts: Setup and Usage of A

 

Rule Set Information section

Enter the Rule Set Name, Description, Effective From and To dates.If it is Active or not.

Duplicate Matches Handling: This field determines how duplicate matches will be handled in the case they occur.
The list has two values:
    - Apply in the order of aging, meaning the cash application will take place in the descending order of invoice aging.
    - Mark as suggested matches. If duplicates found they will display as suggested matches.

Receipts: Setup and Usage of A

 

Enable Knap Sack Matching: This checkbox actives the knap sack matching. When this box is enabled, in the scenario when the receipt does not have remittance lines or no document reference is provided on the remittance lines, the system will try to find a unique match by knap sacking the remittance amount with the open transactions of the customer.
Knapsack matching is the method of applying receipts by trying to find a set of transactions whose open balance matches with the remittance amount.  System will first pool all the eligible transactions of the customer (and the related customers) and tries to find a combination of transactions whose open balance matches the remittance amount. The receipt will be automatically applied if a unique match is found.
Knap sack matching will be used for:
•    Unapplied remittance lines without reference –remittance line amount will be used for knapsack matching;
•    Receipts without remittance lines –receipt amount will be used for knapsack matching.
If a receipt has unapplied remittance lines and if the knapsack matching of unapplied remittance lines does not yield a match then the receipt amount will be used for knapsack matching.

When Enable Knap Sack Matching is checked, if duplicate matches are found, the invoices will be displayed under suggested matches. If no match is found, the receipt will remain unapplied.
 

Outstanding Amount Calculation section
Exclude Disputed Amount: If checked, disputed amount will be excluded from outstanding amount.
Exclude Credit Memo: If checked, credit memos will be excluded from outstanding amount.
Exclude Finance Charges: If checked, finance charges will be excluded from outstanding amount.
Tolerance Amount: The user can specify the tolerance amount for finding a match based using the remittance or receipt amount. The tolerance amount will provide an amount range for matching the remittance amount with the open balance of a transaction or a set of transactions. For example, if the tolerance range is defined as 50 then the system will calculate the amount range as remittance amount minus 50 and remittance amount plus 50 and will try to find a match using the range instead of the remittance amount.

 

Matching Rules section
Here you enter the rules previously defined. You can assign a priority to each of Exact Match rules in the group. Priority determines the order in which system will evaluate each rule for matching the attributes.
A total of ten matching rules can be included in this section. Exact match rules will be executed in the rank of priority. All the scoring match rules will be executed in parallel after the exact match rules

 

 

 

3. Assign Automatic Matching Rule Sets

This can be done at
    - Receipt level
    - System Options level


The field is also at Customer Site/Account, and customer profile level, but it was not implemented.

Rules at receipt level have precedence over rules at System Options level.

 

3.1 Receipt Level


    3.1.1. On Receipt form
        Nav: Receipts > Receipts
        Two attributes were added in tab More on Receipts form:
            - Use Automatic Matching Rules checkbox to indicate whether receipt is eligible to automatic application using auto match rules.
            - Automatic Matching Rule Set field to store the automatic matching rule set to be used for automatic application.

 Receipts: Setup and Usage of A

 

   3.1.2. On Receipt Batch form for a manual Quickcash batch
       Nav: Receipts > Batches
       Click Receipts button

Receipts: Setup and Usage of A

 

   3.1.3. On Lockbox Setup form
       Nav: Setup > Receipts > Lockboxes > Lockboxes
       The Lockboxes setup form shows  2 fields for automatic receipt matching process. These are located in the Receipts tab.
       Use checkbox:  ‘Use Automatic Matching Rules’ to specify the receipts processed through lockbox will be applied using automatic matching rules.
       If the checkbox above is checked, the field ‘Automatic Matching Rule Set’ becomes available to store the automatic matching rule set to be used on the lockbox setup.

 

Receipts: Setup and Usage of A

 

3.2 System Options Level

Nav: Setup > System > System Options
Search for Operating Unit, select Miscellaneous tab and enter a Automatic Matching Rule Sets and save:

Receipts: Setup and Usage of A

The automatic matching rule set defined in the System Options form acts as default rule set at the operating unit level.

 

 

 

4. Remittance Lines

 Remittance Lines can be created by:
    - Lockbox
    - Receipts Workbench

 

4.1. Lockbox
If Lockbox is set to use the automatic matching rules, lockbox will generate the remittance information and populates the remittance lines.

 

4.2. Receipts Workbench
Remittance Lines form was introduced to display remittance lines for a receipt. User can view, modify, delete and enter new remittance lines in this form.
The form can be accessed:

  • From QuickCash batch form, click receipts button,  click on the Remittance Lines button.  

            For the Quickcash batch created through lockbox process, the Remittance Lines region will show the remittance lines imported through lockbox file. In the case of manual Quickcash batch, the form will not contain any lines. In both cases the form allows users to view and update existing remittance lines, as well as create new remittance lines. The form validates that total amount of all remittance lines does not exceed the receipt amount.

 

Receipts: Setup and Usage of A

 

  • From Receipt form Tools menu. There is the menu option Remittance Lines.

 

 Receipts: Setup and Usage of A

 

Receipts: Setup and Usage of A

 

         The form “Remittance Lines and Suggested Matches” above displays the remittance lines imported through lockbox process as well as manually entered by the user.

         This form will also display the suggested matches generated by the Automatic Application program.

         Each remittance line has a status of either:
                 Auto applied – when the Auto Applied checkbox is selected
                 Manually applied – when the Manually Applied checkbox is selected
                 Not applied – when neither Auto Applied or Manually Applied checkboxes are selected


        This form allows user to update the remittance lines when they are not yet applied. Once either auto applied or manually applied, users cannot update the remittance lines.
           

If the remittance line is not applied then user can select one of the suggested matches for the line and apply the same by clicking the Apply button. The Apply button will navigate the user to the Applications form and populate the application information.


        For current record in Remittance Lines region, the Suggestion Matches region will show one or more suggested matches for the remittance line.
 

For an unapplied remittance line, the user can select one or more suggested matches to apply, by clicking on the “Select” checkbox in the Suggested Matches region.

If the user selects more than one suggested match the system will prorate the remittance line amount in the ratio of remaining balance for the selected suggested matches.

For applied remittance lines, user cannot select any suggestion match for application.

        The conditions for selecting the suggested matches for application are as follows:

If the customer is already identified for the receipt then user can select suggested matches belonging to the customer on the receipt as well as the customers with whom that customer has paying relationship. If the “Allow Payment of Unrelated Transactions” option is selected in the System Options then transactions belonging to any customer can be selected for application.

If the customer is not already identified for the receipt then all suggested matches selected should belong to same Bill To Customer. Note: In this case, system will associate the receipt with the customer whose transactions are selected from suggested matches.

 

 

5. Automatic Cash Application Master Program

Short name: ARATAPPM

This is the actual concurrent program that does the receipt applications based on the rules defined.
It is run internally by Lockbox, also can be manually submitted through request window or through the Actions menu option named Auto Apply in the receipt form.

 

Displayed parameters:

Receipts: Setup and Usage of A

 

 

 

 

The ‘Automatic Cash Application Master Program’ will select a batch of receipts based on the criteria provided by the user in the program parameters. The program will then apply the automatic matching rule sets assigned to the receipt to either find a match to apply the receipt or generate a list of suggested matches. In addition to the selection criteria specified in the program parameters, the program will select a receipt for auto application only if the receipt:

  • Has the ‘Use Automatic Matching Rules’ check box selected;
  • Has unidentified or unapplied amount available for application;
  • Has unapplied remittance lines available for application.

Once the program selects a receipt for automatic application the program will loop through all unapplied remittance lines and attempt to automatically apply the remittance line using automatic matching rules.

The program will use the automatic matching rule set assigned to the receipt to perform matching.

 

If a rule is successful in providing automatic match then rest of the rules will not be evaluated. However, if the rule is successful in only providing a suggested match or does not provide any match then the program will use the rule with next highest priority.

Once the program finds matches and calculates match scores, it will use the match score thresholds defined for the automatic matching rules to determine whether the match is eligible for automatic match or suggested match.

If the program finds multiple matches which exceed the automatic matching threshold then program will use the match with highest score to apply the remittance line.

Following conditions must be satisfied for the system to automatically apply the remittance line:

  • If the customer is already identified for the receipt then the select matches must belong to the customer on the receipt or the customers with whom that customer has paying relationship. If the “Allow Payment of Unrelated Transactions” option is selected in the System Options then transactions can belong to any customer.
  • If the customer is not already identified for the receipt then all selected matches should belong to same Bill To Customer.

Note: In this case, system will associate the receipt with the customer and Bill To location, whose transactions are selected for automatic application.

  • Apart from the threshold for automatic match, the selected match should also satisfy the Match on Corresponding Date and Match on Corresponding Amount conditions of the Automatic Matching rule.

If the program is successful in finding a match then the program will apply the receipt. This will ensure that all the existing validations will be applied for receipt application.

After a match is successfully applied, system will:

  1. Update the Auto Applied flag of the remittance line to selected state.
  2. If the receipt has customer location assigned then updated the customer site profile to store the auto match rule, the one that was successful in the finding the match. If the customer location is not assigned to the receipt then update the customer account profile to store the auto match rule.

Application to Balance Forward Bills:

In the case of applying a remittance line to a Balance Forward Bill, system will:

  • First select all open transactions of the bill;
  • Sort them by transaction date;
  • And then apply the remittance line amount in the sort order till the application amount is exhausted.

Suggested Matches:

If the program fails to find automatic match but finds match with a score, which exceeds the suggested match threshold then the program will populate the new table introduced to store the suggested matches. For generating suggested match, the program will not apply the Match on Corresponding Date and Match on Corresponding Amount conditions of the Automatic Matching rule.

The program also assign the exception reason from the automatic matching rule set to the receipt, if the receipt has at least one unapplied remittance line which the program could not automatically apply.

The program provides an execution report as output, which will list the matching outcome for the each remittance line processed by the report.

The program is capable for parallel processing to improve the performance. Based on the value specified for the “No. of Instances” parameter, the program will launch the child requests which will process the data in parallel.

文章標籤

Somebaby 發表在 痞客邦 留言(0) 人氣()

Applies to:

Oracle Payables - Version 12.0.0 and later
Oracle Payments - Version 12.0.0 and later
Information in this document applies to any platform.

Goal

Set the end date, or remove the end date, of a supplier bank account via an API.

Solution

The following API call will end date all the bank accounts for a single supplier.
If you only want to end date some of the accounts, then the query will need to be modified to limit the script to the desired accounts.
 

set serveroutput on size 1000000;
declare
   l_msg_data VARCHAR2 (1000);
   l_msg_count NUMBER;
   l_return_status VARCHAR2 (100);
   l_response IBY_FNDCPT_COMMON_PUB.Result_rec_type;
   cursor a is
       SELECT EXT_BANK_ACCOUNT_ID,
       START_DATE,
       end_date,
       object_version_number
       FROM IBY_EXT_BANK_ACCOUNTS
       WHERE end_date is null
       and ext_bank_account_id IN (
           SELECT DISTINCT a.instrument_id
           FROM iby_pmt_instr_uses_all a
           WHERE a.payment_flow    = 'DISBURSEMENTS'
           AND a.instrument_type   = 'BANKACCOUNT'
           AND a.EXT_PMT_PARTY_ID IN (
               SELECT EXT_PAYEE_ID
               FROM IBY_EXTERNAL_PAYEES_ALL
               WHERE (payee_party_id = (
                   SELECT a.party_id
                   FROM ap_suppliers a
                   WHERE a.vendor_id = &vendor_id)
               AND (party_site_id IS NULL
               OR party_site_id IN (
                   SELECT b.party_site_id
                   FROM ap_supplier_sites_all b
                   WHERE b.vendor_id         = &vendor_id
                   AND (b. vendor_site_id    = NVL( 0, vendor_site_id) OR 0 = 0 ))))))
       ORDER BY ext_bank_account_id ;
BEGIN
   FND_MSG_PUB.initialize;
   for x in a loop
       dbms_output.put('processing account id: ' || x.EXT_BANK_ACCOUNT_ID);
       iby_ext_bankacct_pub.set_ext_bank_acct_dates (
             p_api_version => 1.0
           , p_init_msg_list => FND_API.G_TRUE
           , p_acct_id        => x.EXT_BANK_ACCOUNT_ID
           , p_start_date => nvl(x.start_date,sysdate)
           , p_end_date     => sysdate
           , p_object_version_number  => x.object_version_number
           , x_return_status => l_return_status
           , x_msg_count => l_msg_count
           , x_msg_data => l_msg_data
           , x_response => l_response );
     
      dbms_output.put_line(' --- ' || l_return_status || ' --- ' || l_msg_count || ' --- ' || l_msg_data);
       IF l_msg_count >1 THEN
           FOR I IN 1..l_msg_count LOOP
               dbms_output.put_line(' ' || I || '. ' || SubStr(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ), 1, 255));
           END LOOP;
       END IF;
       if (l_return_status = 'S') then
           dbms_output.put_line('Success');
           commit;
       else
           rollback;
       end if;
   end loop;
end;
/


To remove an end date set it to a date in the future.  in the script above change

, p_end_date => sysdate 

to

, p_end_date => TO_DATE('31.12.9999 23:59:59', 'dd.mm.yyyy hh24:mi:ss'); 

To end date the supplier link to the bank account instead of the bank account itself see note "R12: AP/IBY: How to set Bank Account Uses End Date for a Specific Supplier Site" (Doc ID 726763.1)

文章標籤

Somebaby 發表在 痞客邦 留言(0) 人氣()

Applies to:

Oracle Order Management
Information in this document applies to any platform.

Abstract

Technical Briefs for Order Management Suite

Details

Order Management

Shipping Execution

Configurator

Please refer to Oracle Configurator Documentation Resources, Release 12. (Note: 394478.1) May 2015
Note: The technical briefs listed in this document are valid for Oracle Configurator Release 11.5.10 and R12

Advanced Pricing

Release Management

  • No technical briefs

Transportation

 

Summary

Still Have Questions?

To discuss this information further with Oracle experts and industry peers, we encourage you to review, join or start a discussion in the My Oracle Support Order Management EBS Community.

Let us know your comments!

We hope you find this information useful. Our desire is to provide the right information when you need it. Please let us know how we are doing. To provide feedback on this note:

1. Select the "Rate this document" link. Depending on how you are viewing the note, you will find the link on the:
1. bottom left when viewing the note in a separate window.
2. upper right when viewing the note in the My Oracle Support window.

2. In the resulting pop-up box, enter your comments and ratings for the document.
3. Select Send Rating.

ACROBAT files ending with extension .PDF can be read with an Acrobat Reader. Readers for many platforms are available without fee from the Adobe web site.

External sites are not endorsed by Oracle Corporation. All company or product names mentioned are used for identification purposes only and may be trademarks of their respective owners.

References

NOTE:863454.1 - Detailed Functional Flow of Customer Acceptance feature in Release 12
NOTE:601699.1 - Flexible Shipping Documents in Shipping Execution - Release 12

文章標籤

Somebaby 發表在 痞客邦 留言(0) 人氣()

Applies to:

Oracle Payables - Version 12.2.5 and later
Information in this document applies to any platform.

Goal

How to generate the Payment Register report output as an Excel file with proper headings?
 

Solution

To do this will require the use of BI Publisher and the creation of a custom template.
The task of creating the template is considered a customization and is up to the user to complete.  I would suggest using and installing desktop publisher for this step.
If using desktop publisher be sure to the Backward Compatibility in the options before creating the template.

  1. From the "System Administrator" responsibility navigate to Concurrent -> Program -> Define
  2. Pull up the report with the short name of APXMTDCR
  3. Change the output type to XML
  4. Save
  5. From a Payables Responsibility navigate to Others -> Request Run
  6. Submit the "Payment Register" report
  7. Once complete View the output, it will be XML.  Save this for the template creation in a later step.
  8. From the XML Publisher Administrator responsibility navigate to Data Definitions
  9. Create a data definition with a code of APXMTDCR (it must use this code, the name can be anything)
  10. From the XML Publisher Administrator responsibility navigate to Templates
  11. Create a custom template with the code of APXMTDCR (it must use this code, the name can be anything)
    Use the output from step 7 for the proper tags to use in the template.
    Set the default output type to Excel
  12. From a Payables Responsibility navigate to Others -> Request Run
  13. Submit the "Payment Register" report
  14. View the output, it should create the output specified in the custom template created in step 11
文章標籤

Somebaby 發表在 痞客邦 留言(0) 人氣()