Tag Archives: Cash Management

CE Sample SQL*Loader Scripts

Here are some sample SQL*Loader scripts for the ce_statement_headers_int_all and ce_statement_lines_interface tables:

LOAD DATA
REPLACE
INTO TABLE ce.ce_statement_headers_int_all
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
    statement_number            CHAR,
    bank_account_num            CHAR,
    statement_date            CHAR,
    bank_name                CONSTANT        'Bank Name',
    bank_branch_name            CONSTANT        '',
    creation_date            SYSDATE,
    last_update_date            SYSDATE,
    control_begin_balance        DECIMAL EXTERNAL,
    control_total_dr            DECIMAL EXTERNAL,
    control_total_cr            DECIMAL EXTERNAL,
    control_end_balance        DECIMAL EXTERNAL,
    control_dr_line_count        INTEGER EXTERNAL,
    control_cr_line_count        INTEGER EXTERNAL,
    control_line_count        INTEGER EXTERNAL,
    currency_code            CONSTANT        'TTD',
    int_calc_balance            DECIMAL EXTERNAL
)
LOAD DATA
REPLACE
INTO TABLE ce.ce_statement_lines_interface
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
    bank_account_num            CHAR,
    trx_date                DATE,
    attribute1                CHAR,
    trx_code                CHAR,
    bank_trx_number            CHAR,
    amount                DECIMAL EXTERNAL,
    attribute2                CHAR,
    trx_text                CHAR,
    statement_number            CHAR,
    line_number                INTEGER EXTERNAL,
    original_amount            DECIMAL EXTERNAL,
    currency_code            CHAR,
    creation_date            SYSDATE,
    last_update_date            SYSDATE,
    charges_amount            CONSTANT        0.00
)

Reconciliation Open Interface

On Test environment:

Prerequisites to Using the Reconciliation Open Interface

  • Check the Use Reconciliation Open Interface check box in the System Parameters window. Setting Up 2 – 35
  • Define Open Interface Float Status and Open Interface Cleared Status in system parameters.
  • Customize the Reconciliation Open Interface package and view. The Reconciliation Open Interface objects include the following view and package, which you would have customized to work in your environment:
  • CE_999_INTERFACE_V (view) – cev999in.sql (physical file)
  • CE_999_PKG (package) – ceab999s.pls (physical file) – ceab999b.pls (physical file)

To enable the Use Reconciliation Open Interface checkbox:

  1. Choose Cash Management Superuser responsibility
  1. From the Navigator, choose Setup > System > System Parameters
  1. Check the Use Reconciliation Open Interface checkbox
  1. Click the Open Interface tab. Under Open Interface Status Code, enter into the following fields:
    • Float Status: Negotiable
    • Clear Status: Reconciled

Most likely, the CE_999_INTERFACE_V view already exists within the system. However, the CE_999_INTERFACE table does NOT exist. It must be created as follows:

CREATE TABLE CE.CE_999_INTERFACE AS SELECT * FROM APPS.CE_999_INTERFACE_V;
CREATE VIEW CE.CE_999_INTERFACE_V AS SELECT * FROM CE.CE_999_INTERFACE;
CREATE SYNONYM APPS.CE_999_INTERFACE FOR CE.CE_999_INTERFACE;
CREATE SYNONYM APPS.CE_999_INTERFACE_V FOR CE.CE_999_INTERFACE_V;

Then grant privileges on the table CE_999_INTERFACE:

Grant select, insert, update, delete, index, references, alter on CE_999_INTERFACE to public;
col grantee format a8
col grantor format a8
select * from dba_tab_privs
where table_name = 'CE_999_INTERFACE';

You may be required to rename OR delete the view in APPS with the same name:

RENAME CE_999_INTERFACE_V TO CE_999_INTERFACE_VS;
DROP VIEW APPS.CE_999_INTERFACE_V;

To validate views with status ‘INVALID’:

ALTER VIEW CE_999_RECONCILED_V COMPILE;
ALTER VIEW CE_999_REVERSAL_V COMPILE;

In order to recreate the original view APPS.CE_999_INTERFACE_V, see the file $CE_TOP/admin/odf/cevw.odf. You may be required to reconstruct the SQL code from that given in this file.

The CE_999_INTERFACE table seems to have been deleted. The script that was used to create the table must be rerun. To find this table, check the Stage11510 folder to locate the file:

mkdir ~/ce
for i in `find /emcb/Stage11510/oraApps/ -iname 'ce*'`; do cp $i ~/ce/; done
  1. Cash Management Superuser
  1. View > Available Transactions
  1. Bank Statements > Manual Clearing > Clearing Transactions
  1. In the Find Transactions form, choose an Account Number for Recurrent Account (1429625Rec).

On Production:

  1. Cash Management Manager
  1. View > Available Transactions
  1. Bank Statements > Manual Clearing > Clear Transactions

The CE_999_INTERFACE_V view should already have been created in the database when the database was set up.

To see the contents of the DBA_OBJECTS view:

Col owner format a6
Col object_name format a30
SELECT
OWNER,
OBJECT_NAME,
OBJECT_TYPE,
CREATED,
STATUS
FROM
DBA_OBJECTS
WHERE
OBJECT_NAME LIKE ‘CE_999%’
;

To see the contents of the DBA_SYNONYMS view:

SET LINESIZE 150
SELECT
OWNER,
SYNONYM_NAME,
TABLE_OWNER,
TABLE_NAME
FROM
DBA_SYNONYMS
WHERE
SYNONYM_NAME LIKE ‘CE_999%’
;

To see the contents of the DBA_VIEWS view:

SET LONG 800
SET LINESIZE 800
SET LONGCHUNKSIZE 800
SET WRAP OFF
SELECT
OWNER,
VIEW_NAME,
TEXT
FROM
DBA_VIEWS
WHERE
VIEW_NAME = ‘CE_999_INTERFACE_V’
;

To troubleshoot any problems viewing data in the application, the CE_999_TRANSACTIONS_V view must be analyzed. Specifically, the WHERE clause must be examined to determine if all criteria are met.

One of the views in the FROM clause is the AP_BANK_ACCOUNTS. The AP_BANK_ACCOUNTS view needs the CLIENT_INFO variable set in SQL*Plus to view the data in this view. To view the value of this variable, enter:

SELECT USERENV (‘CLIENT_INFO’) FROM DUAL;
OR
SELECT SYS_CONTEXT ('USERENV', 'CLIENT_INFO') FROM DUAL;

To set this parameter, use the DBMS_APPLICATION_INFO package:

EXEC DBMS_APPLICATION_INFO.SET_CLIENT_INFO (‘102’);

By removing all lines from the WHERE clause of then gradually adding them back one at a time in a SQL query, it was determined where the problem occurred. The last line of the WHERE clause was with the Transaction Date and only when this line was added was no rows returned.

Setting Up Cash Management Open Interface

In SQL*Plus, execute script ce_999_int.sql as user apps to create the interface table.
Ensure that the view was not changed before running script.
After running script, ensure that there are no invalid objects for owner CE.

#ce_999_int.sql
 create table ce.CE_999_INTERFACE
 (
 TRX_ID Number(15) unique,
 BANK_ACCOUNT_ID NUMBER(15) not null,
 TRX_TYPE VARCHAR2(20) not null,
 TRX_TYPE_DSP VARCHAR2(80) not null,
 TRX_DATE DATE not null,
 CURRENCY_CODE VARCHAR2(15) not null,
 STATUS VARCHAR2(15) not null,
 STATUS_DSP VARCHAR2(80) not null,
 AMOUNT NUMBER(17,2) not null,
 GL_DATE DATE not null,
 CREATION_DATE DATE not null,
 CREATED_BY NUMBER(15) not null,
 LAST_UPDATE_DATE DATE not null,
 LAST_UPDATED_BY NUMBER(15) not null,
 TRX_NUMBER VARCHAR2(15),
 EXCHANGE_RATE_TYPE VARCHAR2(30),
 EXCHANGE_RATE_DATE DATE,
 EXCHANGE_RATE NUMBER(17,2),
 CLEARED_AMOUNT NUMBER(17,2),
 CHARGES_AMOUNT NUMBER(17,2),
 ERROR_AMOUNT NUMBER(17,2),
 ACCTD_AMOUNT NUMBER(17,2),
 ACCTD_CLEARED_AMOUNT NUMBER(17,2),
 ACCTD_CHARGES_AMOUNT NUMBER(17,2),
 ACCTD_ERROR_AMOUNT NUMBER(17,2),
 CLEARED_DATE DATE
 )
 /
create or replace view apps.CE_999_INTERFACE_V
 as select
 ROWID ROW_ID,
 TRX_ID,
 BANK_ACCOUNT_ID,
 TRX_TYPE,
 TRX_TYPE_DSP,
 TRX_NUMBER,
 TRX_DATE,
 CURRENCY_CODE,
 STATUS,
 STATUS_DSP,
 AMOUNT,
 GL_DATE,
 CREATION_DATE,
 CREATED_BY,
 LAST_UPDATE_DATE,
 LAST_UPDATED_BY,
 EXCHANGE_RATE_TYPE,
 EXCHANGE_RATE_DATE,
 EXCHANGE_RATE,
 CLEARED_AMOUNT,
 CHARGES_AMOUNT,
 ERROR_AMOUNT,
 ACCTD_AMOUNT,
 ACCTD_CLEARED_AMOUNT,
 ACCTD_CHARGES_AMOUNT,
 ACCTD_ERROR_AMOUNT,
 CLEARED_DATE
 from CE.CE_999_INTERFACE
 /
 accept database char prompt 'Enter database to connect to: '
 connect apps/apps@&database
 rem compile all invalid database objects
 alter view CE_999_RECONCILED_V compile
 /
 alter view CE_999_TRANSACTIONS_V compile
 /
 alter view CE_AVAILABLE_TRANSACTIONS_V compile
 /
 alter view CE_RECONCILED_TRANSACTIONS_V compile
 /
 alter package CE_AUTO_BANK_CLEAR compile body
 /
 alter package CE_AUTO_BANK_MATCH compile body
 /

2. Start Enterprise Manager
On the database server, change directory to db/9.2.0
Source the database environment
run $oemapp dbastudio

Select the APPS schema
Select the CE_999_PKG body
Enable the clear and unclear procedures
Compile procedure bodies

Bank Statement SQL Loader Scripts

Before uploading bank statement file (SQL Loader data file), ensure that the data file exactly maps to the lines.ctl and the headers.ctl.

Sample control files (Files may need to altered to best match statement)
 # HEADER.CTL
LOAD DATA
APPEND INTO TABLE ce_statement_headers_int_all
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
( BANK_ACCOUNT_NUM CONSTANT 'XXXXXXXXXXXX',
#ADD BANK ACCT NUMBER ORG_ID CONSTANT '23',
#DETERMINE ORG ID STATEMENT_NUMBER,
STATEMENT_DATE "TO_DATE(:STATEMENT_DATE,'YYYYMMDD')",
DUMMY_COLUMN FILLER,
DUMMY_COLUMN2 FILLER,
DUMMY_COLUMN3 FILLER,
DUMMY_COLUMN4 FILLER,
DUMMY_COLUMN5 FILLER,
DUMMY_COLUMN6 FILLER,
DUMMY_COLUMN7 FILLER,
DUMMY_COLUMN8 FILLER,
DUMMY_COLUMN9 FILLER,
DUMMY_COLUMN10 FILLER,
CURRENCY_CODE CONSTANT 'TTD' )

# LINES.CTL
load data
append into table ce_statement_lines_interface
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
( STATEMENT_NUMBER,
TRX_DATE "TO_DATE(:TRX_DATE, 'YYYYMMDD')",
BANK_ACCOUNT_NUM CONSTANT 'XXXXXXXXXXXX',
#ADD BANK ACCT NUMBER LINE_NUMBER SEQUENCE(COUNT),
currency_code constant 'TTD',
dummy_filler2 filler,
dummy_filler3 filler,
dummy_filler4 filler,
dummy_filler1 filler,
TRX_CODE,
TRX_TEXT,
AMOUNT,
BANK_TRX_NUMBER,
dummy_filler5 filler,
dummy_filler6 filler )

Save the data file as a .csv file.

Note:

To determine org_id, issue the following command in SQL*Plus:

Select ORGANIZATION_ID, NAME From HR_ALL_ORGANIZATION_UNITS;