Ebilling SDK
Ebilling SDK
Ebilling SDK
Copyright 2005, 2016 Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions
on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in
your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast,
modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any
means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for
interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be errorfree. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing
it on behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software,
any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users
are commercial computer software pursuant to the applicable Federal Acquisition Regulation and
agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and
adaptation of the programs, including any operating system, integrated software, any programs installed
on the hardware, and/or documentation, shall be subject to license terms and license restrictions
applicable to the programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management
applications. It is not developed or intended for use in any inherently dangerous applications, including
applications that may create a risk of personal injury. If you use this software or hardware in dangerous
applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and
other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any
damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be
trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks
are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD,
Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced
Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content,
products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and
expressly disclaim all warranties of any kind with respect to third-party content, products, and services
unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and
its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use
of third-party content, products, or services, except as set forth in an applicable agreement between you
and Oracle.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website
at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
ccess to Oracle Support
Oracle customers that have purchased support have access to electronic support through My Oracle
Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
Contents
Chapter 1:
Chapter 2:
the
the
the
the
13
Self-Service Application 14
Assisted Service Application 15
Command Center Application 15
RESTFul Web Services 16
17
17
18
19
22
Chapter 3:
26
29
29
27
28
30
31
31
Chapter 4:
25
31
32
39
Contents
41
42
44
45
46
47
49
54
56
57
Chapter 5:
47
53
41
57
59
61
Chapter 6:
63
67
69
72
99
128
132
133
134
138
62
Contents
Chapter 7:
140
140
141
146
182
185
190
193
193
195
196
204
Changing the Local Storage Location for the HTML Report Formatting Files
205
Contents
Chapter 8:
Payment Processing
207
214
220
237
241
Input File Format for Canceling Payments for Consumer Users in Batch
Chapter 9:
Customizing Payment
243
251
252
241
252
263
269
Contents
270
271
273
275
277
279
279
280
282
283
288
288
307
306
308
311
312
Contents
329
340
349
351
351
Integrating the Assisted Service Application With CRM or Other Back Office Systems
352
About Impersonation Auditing
356
359
364
367
368
368
368
369
370
377
382
385
389
393
395
File Formats for Prepaid Information
395
399
405
Index
8
New Product Features in Implementation Guide for Oracle Billing Insight, Version 7.0,
Rev. A
Topic
Description
New Product Features in Implementation Guide for Oracle Billing Insight, Version 7.0
Topic
Description
10
Table 2.
New Product Features in Implementation Guide for Oracle Billing Insight, Version 7.0
Topic
Description
Additional Changes
This book also contains the following name changes in this version:
The product name changed to Oracle Billing Insight. The installation and related directory names,
and various file names have also been changed accordingly.
The Customer Service Representative application name changed to the Assisted Service
application.
The Billing and Payment application name changed to the Self-Service application.
11
12
This chapter presents an overview of Oracle Billing Insight. It includes the following topics:
Self-Service. End users interact with the self-service online interface to view billing information,
manage payments, manage their business hierarchies, and so on. Use the information in this
guide to help you customize the preconfigured functionality for your companys implementation.
In general, you deploy the Self-Service application EAR file in a cluster environment for the
purpose of failover and load balance.
For information about preconfigured Self-Service application use cases provided with Oracle
Billing Insight, see Self-Service Application Guide for Oracle Billing Insight.
Assisted Service. Agents, such as customer service representatives, use the Assisted Service
application to view billing analytics, statements, and payment information for end users. Agents
can also make payments and perform other billing- and account-related tasks on behalf of a
customer. You can also configure your Assisted Service application for access by a CRM or other
back-office system.
For information about preconfigured Assisted Service application use cases provided with Oracle
Billing Insight, see Assisted Service Application Guide for Oracle Billing Insight.
13
Command Center (System Administration). Your system administrator uses the Command
Center to manage the live Oracle Billing Insight production environment, which comes with a set
of predefined batch jobs for payment processing and reporting. A job consists of one or more
tasks, and each task performs a specific piece of the processing. Each task is implemented as an
EJB and has its own configuration parameters which you also configure using the Command
Center UI. The Command Center UI is based on Servlet-JSP technology, not struts and tiles. You
deploy the Command Center on a separate application server. You do not customize this
application, although you can create custom jobs if necessary.
For more information about configuring and running jobs in the Oracle Billing Insight Command
Center, see Administration Guide for Oracle Billing Insight.
This guide assumes you have installed Oracle Billing Insight and deployed these applications, and
can run and view them successfully. For information about installing Oracle Billing Insight, see
Installation Guide for Oracle Billing Insight.
Related Topics
About the Self-Service Application on page 14
About the Assisted Service Application on page 15
About the Command Center Application on page 15
About the RESTFul Web Services on page 16
Provides dynamic, interactive views of spending and usage based on the customer's own
business hierarchy and cost centers.
Provides cross-channel access by the Assisted Service application, enabling agents to view
customer data and perform tasks on behalf of a customer.
14
Provides SMS alerts and email notifications with PDF attachments to attract customers to service
their accounts online.
For information about the preconfigured use cases provided in the Self-Service application, see SelfService Application Guide for Oracle Billing Insight.
Lets agents view statements and run analytics for any customer account.
Provides the agent with the exact data views that a particular user sees in the Self-Service
application, based on users role and privileges.
Gives the agent the ability to make payments on behalf of a user perform all of the functions
available to the user they are assisting, based on users role and privileges.
For information about preconfigured Assisted Service application use cases provided with Oracle
Billing Insight, see Assisted Service Application Guide for Oracle Billing Insight.
Manage the live Oracle Billing Insight production environment, including scheduling and running
batch jobs for loading and managing billing data, processing payments, generating user
notifications, managing hierarchies, and running reports.
Configures each job and task for your organization and environment.
Perform other ongoing production and maintenance tasks, such as reviewing job reports and log
files, and purging old data.
For more information about configuring and running jobs in the Oracle Billing Insight Command
Center, see Administration Guide for Oracle Billing Insight.
15
Provides hundreds of APIs to cover majority of functionality provided in the online Self-Service
and Assisted Service applications.
Can be extended.
Performs token-based authentication with the same authorization rules used online.
Is locale-aware.
For information about using Web services with Oracle Billing Insight, see Web Services Reference for
Oracle Billing Insight.
16
Figure 1.
17
Overview of Oracle Billing Insight About Oracle Billing Insight Installation Directories
UNIX. /opt/Oracle/BillingInsight
Windows. Oracle\BillingInsight
It is possible to change the default directory during installation to fit your deployment environment.
This guide refers to the directory where you have installed Oracle Billing Insight as EDX_HOME.
Table 3 describes the types of files stored in each main product directory defined under EDX_HOME.
Table 3.
Directory
Description
bin
Contains scripts for Scheduler, notification template generation, and purging data.
config
db
Contains scripts for creating and configuring the Oracle Billing Insight database.
docs
Contains the Javadoc and Data Dictionary files for Oracle Billing Insight.
Input
Provides a place for you to place input files that you intend to process using batch
Command Center jobs.
integration
Contains components used when integrating Oracle Billing Insight with Oracle
Communications Billing and Revenue Management (BRM).
J2EEApps
keystore
Contains the necessary files and directories for creating the Java KeyStore.
lib
logs
Provides a (recommended) location for directing and storing log output files.
META-INF
Output
Provides a place for you to direct output files generated by batch Command Center
jobs.
payment
Contains the configuration files for the Oracle Billing Insight payment
functionality.
repackage
samples
Contains sample files you can use for implementing and customizing Oracle Billing
Insight, and for implementing a single sign-on system.
temp
Used by Oracle Billing Insight for the placement of temporary files created during
processing.
template
18
Table 3.
Directory
Description
Uninstall
xma
UNIX. EDX_HOME/selfservice/J2EEApps/selfservice/weblogic/selfservice-weblogic7.0.ear
Windows. EDX_HOME\selfservice\J2EEApps\selfservice\weblogic\selfservice-weblogic7.0.ear
Table 4 describes the components packaged under the directories inside the Self-Service application
EAR file, selfservice-weblogic-7.0.ear.
Table 4.
Contents
This is the root directory and it contains the EJB JavaARchive (JAR)
and Web ARchive (WAR) files.
/lib
/META-INF
/xma
NOTE: Some of the WAR file subdirectories are inherited from another legacy Oracle Billing Insight
application and are not used directly by Oracle Billing Insight.
19
Table 5 describes the components packaged under the directories inside the Self-Service application
WAR file, selfservice-web-1.0-SNAPSHOT.war:
Table 5.
Contents
/_includes
/_templates
/_assets
Contains images, JavaScripts, and CSS files used by the SelfService application.
/hierarchy
/usermanagement
/reporting
/payment
/contacts
/dispute
/unbilled
/WEB-INF
/WEB-INF/classes/azcfg/
policy
/WEB-INF/classes/lib
UNIX. EDX_HOME/J2EEApps/csr/weblogic/csr-app-7.0.ear
Windows. EDX_HOME\J2EEApps\csr\weblogic\csr-app-7.0.ear
20
Table 6 describes the components packaged under the directories inside the Assisted Service
application EAR file, csr-app-7.0.ear.
Table 6.
Contents
This is the root directory and it contains the EJB JavaARchive (JAR) and
Web ARchive (WAR) files.
/lib
Contains the list of third-party library files used by the Assisted Service
application.
/APP-INF
/META-INF
Contains the J2EE EAR file META-INF directory for meta information.
/xma
NOTE: Some of the WAR file subdirectories are inherited from another legacy Oracle Billing Insight
application and are not used directly by Oracle Billing Insight.
Table 7 describes the components packaged under the Assisted Service application WAR file, csrweb-1.0-SNAPSHOT.war.
Table 7.
Contents
/manage-report
/manage-profile
/manage-org
/manage-csruser
/integration
/html
/access-cust
/_templates
/_includes
/hierarchy
/contacts
/WEB-INF
21
Table 7.
Contents
/WEB-INF/classes/azcfg/policy
/WEB-INF/classes/lib
/usermanagement
/reporting
/payment
/manage-search
/manage-cust
/manage-account
/dispute
/_assets
/META-INF
UNIX. EDX_HOME/J2EEApps/rs/weblogic/rs-app-7.0.ear
Windows. EDX_HOME\J2EEApps\rs\weblogic\rs-app-7.0.ear
UNIX. EDX_HOME/J2EEApps/commandcenter/weblogic/command-center-weblogic-7.0.ear
Windows. EDX_HOME\J2EEApps\commandcenter\weblogic\command-center-weblogic-7.0.ear
In general, you are not expected to modify this EAR file during deployment. Deploy the Command
Center on a separate application server.
22
Log4j. Log4j is the main logging mechanism. Each EAR (application) requires different log4j files
to avoid conflicting with each other.
CAUTION: Because of security concerns, update the log4j_cc.xml file to write Command Center
log information to the Oracle Billing Insight database, not to a file. File appenders are not used.
A file appender is a named entity that represents a specific output destination for messages. It
is technically valid to write the Oracle Billing Insight Self-Service application and Assisted Service
application log information to either the database or to files as specified in the log4j.xml and
log4j_csr.xml files.
DB-logging. Most Command Center jobs also use DB-logging for job-level information and log4j
is still used to log API-level information. The DB-logging writes log information into DB tables
and can be viewed from the Command Center. For details about Command Center message log
files, see Administration Guide for Oracle Billing Insight.
Java-option-logging. The logging is controlled by passing in a JVM -D option, to log debuglevel information and mostly for development purposes. For information about using this option
with payment functionality, see Using Payment Debug on page 241.
In addition, in the majority of use cases, Oracle Billing Insight prints out the exception stack trace
to the console or as part of the JSP error output page when an exception occurs. By default, Oracle
WebLogic only prints error messages to the console. From the Oracle WebLogic console you can
change the level of log messages to print more detailed information.
UNIX. EDX_HOME/config
Windows. EDX_HOME\config
23
Table 8.
Application
Self-Service
Command Center
Assisted Service
hierarchy.log
reporting.log
umf.log
eBilling.log
log4j_eStatement.log
log4j_scheduler.log
Self-Service. log4j.xml
The files are located in the following directory. In the path, EDX_HOME is the directory where you
installed Oracle Billing Insight:
UNIX. EDX_HOME/config
Windows. EDX_HOME\config
24
Overview of Oracle Billing Insight Accessing Oracle Billing Insight Data Dictionary and
Javadoc
Open the persistence.xma.xml file for editing. This file is in the EDX_HOME/xma/config/modules
directory. In this directory, EDX_HOME is the directory where you installed Oracle Billing Insight.
Edit the hibernate.show.sql property, changing the value from false to true:
<prop key=hibernate.show_sql>false</prop>
To be able to view the SQL binding values as well (the hibernate.show_sql property allows you
to view the SQL statements only), edit the log4j files (log4j.xml, log4jcc.xml, and
log4jccenter.xml) which are found in the EDX_HOME/config directory. Change the level for these
two loggers to debug:
<logger name="org.hibernate.SQL" additivity="false">
<level value="TRACE"/> <appender-ref ref="cba-log"/>
</logger><logger name="org.hibernate.type" additivity="false">
<level value="error"/> <appender-ref ref="cba-log"/>
/logger>
EDX_HOME/docs/datadictionary/html/BillingInsight70.zip
EDX_HOME/docs/datadictionary/pdf/BillingInsight70_OLAP.pdf
EDX_HOME/docs/datadictionary/pdf/BillingInsight70_OLTP.pdf
In the paths, EDX_HOME is the directory where you installed Oracle Billing Insight.
UNIX. EDX_HOME/docs/api
Windows. EDX_HOME\docs\api
25
Overview of Oracle Billing Insight Identifying the Installed Version of Oracle Billing
Insight
26
This chapter covers general information to get started customizing your application. It includes the
following topics:
Oracle Billing Insight provides a set of core functionality in the applications. A sample UI,
included with the product, demonstrates these functions. The contract between Oracle Billing
Insight core and the UI is a set of APIs. These APIs and the Java-docs are contained in the API
JAR file of the EAR file. You must use these APIs for your customization purposes. Do not modify
or bypass these APIs unless explicitly instructed in this guide.
Because of the complexity of the Hierarchy Management UI, it is recommended that you try and
keep your UI as close as possible to the sample hierarchy UI to reduce your workload.
The functions exposed by the APIs exceed the ones demonstrated through the sample UI. Consult
the API Java-docs and other topics of this guide for details. You can customize the Oracle Billing
Insight application to take advantage of these functions.
When you have to change existing Oracle Billing Insight files, such as a JSP or a Velocity
template, you can work either on an existing file or copy it and work on the copy. The second
method could be more time consuming but will save you more time when migrating. Keep the
history of customization changes in a source control system.
Never make any changes that could break the backward compatibility of the DB schema, such as
changing the column type or renaming a column or a table.
27
The Spring XMA configuration files are the core configuration files of Oracle Billing Insight and
you must not modify them unless instructed in this document Oracle Billing Insight uses Spring
to manage JavaBean creation and transactions, and also for the configuration of Hibernate. The
Spring XMA configuration files are stored in the EDX_HOME/xma directory. Possible reasons to
customize these files include:
To extend Hierarchy Management, such as adding a new link target type, reimplementing a
hierarchy search interface such as IAssignedObjectProvider, inserting a new loader into the
OLTPProductionLoader job, configuring a new event handler to handle hierarchy events, or
configuring the hierarchy UI behavior. For more information about extending Hierarchy, see
Hierarchy Developers Guide for Oracle Billing Insight.
The _assets. Contains all images, CSS files, and scripts used in the application.
Every JSP can extend any one of the templates. JSP files are stored in their respective module
folders.
By default, all Oracle Billing Insight screens pick up their styles from a common file, swan.css, for
Web rendering. This file is imported in all the templates. The print friendly view uses the
swan_print.css file. The stylesheet defines the styles for all defined classes. You can define as many
stylesheets as required, however, leave the class name the same as it is in swan.css.
The template files must import the corresponding customized CSS files as necessary, then the JSPs
will use the new styles.
The Oracle Billing Insight UI is based on Tiles definitions.You can optionally modify the Tiles
definitions file to use your own Tiles. The Tiles definitions are located in the selfservice-weblogic7.0.ear/selfservice-web-1.0-SNAPSHOT.war/WEB-INF/classes directory.
In some cases, when you use the Oracle Billing Insight presentment engine to generate a report or
a search page, the result of the query is not presented by JSP, instead, a set of Velocity templates
are used. These templates are defined in the EDX_HOME/templates/common/lib and reporting
directories. In the path, EDX_HOME is the directory where you installed Oracle Billing Insight. Do not
touch the VM files in the lib directories. The files under reporting can be customized if necessary.
However, most of the time you can customize reports using report XML files without touching the VM
files.
28
Pagewrap elements:
Top_page
Logo
Userlinks
Sidecontent
Maincontent
Breadcrumb
Pageheading
Errormessage
successmessage
Contextbox
29
About Customizing Oracle Billing Insight About Custom JSP Pages and Action Classes
Clearline
Footer
Oracle Billing Insight calls the CSS file from the main templates, which are in the _templates
directory. The JSP file names are:
simplelayout.jsp
simplelayout1.jsp
popupLayout.jsp
paymentLayout.jsp
dashBoardLayout.jsp
If you configured the dynamic CSS file feature during installation, then go to the following
directory:
UNIX. EDX_HOME/config/_assets/
Windows. EDX_HOME\config\_assets/
Otherwise, explode the Oracle Billing Insight EAR file, and go to the /_assets directory in the
WAR file.
Copy and rename the default swan.css file to a new directory, such as /_assets/MyDefault/
MyDefault.css.
Edit the new default CSS file for the preferred look and feel.
Add any new images linked in the CSS file to the new directory.
Modify the CSS_REFERENCE field in the EDX_SYS_BRAND table in the OLTP schema to point to
the new default directory.
The default swan.css file is referenced by the default brand key value in the CODE field of the
EDX_SYS_BRAND table.
30
UNIX. EDX_HOME/config/rpt
Windows. EDX_HOME\config\rpt
You can add your own report XML files, using either the default Velocity templates provided with
Oracle Billing Insight or your own templates. For details on creating reports, see Chapter 7, Using
the Reporting Engine.
If you configured the dynamic CSS file feature during installation, then go to the following
directory:
UNIX. EDX_HOME/config/_assets/
Windows. EDX_HOME\config\_assets/
Otherwise, explode the Oracle Billing Insight EAR file. For more information about updating CSS
files, see Customizing the Default UI CSS on page 29.
Copy and rename the default swan.css file to use as a starting point for creating custom, brandspecific CSS files. Edit the new default CSS files for the preferred look and feel, and link any
new images within the files.
31
Place the new CSS files and any linked image files in the corresponding directories, for example:
/_assets/Brand_1/Brand_1.css
/_assets/Brand_1/Brand_1_Logo1.gif
/_assets/Brand_1/Brand_1_Mascot1.gif
/_assets/Brand_2/Brand_2.css
/_assets/Brand_2/Brand_2_ImageSmall.gif
/_assets/Brand_2/Brand_2_ImageMed.png
Populate the EDX_SYS_BRAND table with a record for each brand code you define. Include the
brand code, device (NULL, which defaults to Web), brand description, and corresponding CSS file
name and location.
Customize the user API to capture and set a brand key, or code, in each users profile when the
user enrolls.
When a user logs in and is authenticated, Oracle Billing Insight reads the brand key stored in the
users profile and references the EDX_SYS_BRAND table to find the corresponding CSS file to use
for the session.
ApplicationResourcesMessages_en_US.properties
ApplicationResourcesNew_en_US.properties
NotificationResource_en_US.properties
NotificationResourceSms_en_US.properties
Period_en_US.properties
CurrencyText_en_US.properties
CommonFieldValidator_en_US.properties
32
For each new language, add a record in the EDX_SYS_LANG database table. For example, the
following SQL statement adds traditional Spanish and sets it as the default language:
insert into edx_sys_lang(ID,code,name,is_default) values(1,'es_ES','Espanol,1);
where:
ID is the ID you want to use as the primary key for this language.
code is the language code. The format can be language_country (such as en_US, zh_CN, or
ja_JP) or language_country_variant, such as en_US_Traditional_WIN. The language
argument is a valid ISO-639 Language Code in two lower-case letters. The country argument
is a valid ISO-3166 Country Code in two upper-case letters.
The variant argument is a vendor- or browser-specific code, for example: WIN for Windows,
MAC for Macintosh, and POSIX for POSIX. The variant argument can have two parts,
separated by an underscore. For example, the code for Traditional Spanish on Windows is
es_ES_Traditional_WIN.
name is the name of the language that appears when a user selects a language in the
interface.
In the CurrencyText.properties file, for each application and in each language, add mappings
between the currency code and text for any currencies you want to use.
The currency text appears on reports and charts. The following values (for the American dollar,
Chinese yuan, and euro) are included in the file by default:
USD.CurrencyText=Dollars
CNY.CurrencyText=CNY
EUR.CurrencyText=Euro
Create new resource bundle property files for each new language:
Make copies of the following language resource property files, one for each language:
Period.properties. Contains monthly time periods that appear in lists in the user
interface.
33
Append the language code (typically in the format languageCode_Country) to the new file
names. Use the codes that you defined in the database table in Step 2 on page 33.
For example, for Spanish, the copy of the application resource messages file must be called
ApplicationResourcesNew_es_ES.properties. The files are located in the following directories:
UNIX. EDX_HOME/config/resourcebundle/com/edocs/application/resources
Windows. EDX_HOME\config\resourcebundle\com\edocs\application\resources
Place all new and updated property files in the same directories as the English language files.
NOTE: If you want to customize to the pre-configured notification content, then make those
changes in the property files before creating copies for localization.
In the ApplicationResourcesNew.properties file, for each language, update the file to customize
the date, time, and number formats used in the user interface. Specifying custom values lets you
override the default Java language formats. You can also add new patterns to the
ApplicationResourcesNew.properties file.
To apply a different date format in a report (such as using the short date format instead of the
medium format), update the report XML file with the pattern you prefer. The report XML files are
found in the EDX_HOME/config/rpt directory. Also update the report XML files where you want to
apply any new patterns. Update the following code in the ApplicationResourcesNew.properties
files:
#################### Date,Time,Number ########################
global.pattern.number.integer=#,##0
global.pattern.number.decimal=#,##0.00
global.pattern.number.percent=#0.00%
global.pattern.number.amount=\u00A4#,##0.00
global.pattern.number.amount2=\u00A4#,##0.00;\u00A4(#,##0.00)
global.pattern.number.amount3=#,##0;(#,##0)
global.pattern.number.amount4=#,##0.00;(#,##0.00)
global.pattern.date.short=M/d/yy
global.pattern.date.medium=MM/dd/yyyy
global.pattern.date.long=MMM/dd/yyyy
global.pattern.date.input=MM/dd/yyyy
global.pattern.time.short=HH:mm
global.pattern.time.long=HH:mm:ss
global.pattern.date.time=MM/dd/yyyy HH:mm:ss
NOTE: The amount3 and amount4 patterns display numbers that are not currency amounts.
Update the StatementDisplay.properties file to add the Unicode currency symbol for any
currencies you want to use. The StatementDisplay.properties file is located in the following
directory:
34
UNIX. EDX_HOME/config/resourcebundle/com/edocs/application/resources
Windows. EDX_HOME\config\resourcebundle\com\edocs\application\resources
The currency symbols appear in the user interface and in email notification content. If your billing
files contain only a single currency, then add an entry for that currency. The following values (for
the American dollar, Chinese yuan, and euro), are included in the file by default:
USD.CurrencySymbol=$
CNY.CurrencySymbol=\u00a5
EUR.CurrencySymbol=\u20ac
Localize email and SMS notification templates by generating a template XML file for each
language:
Modify the template generator script. Update the value of EDX_HOME, using the full path
names for your installation, in the generateNotificationTemplate.sh file, or the
generateNotificationTemplate.cmd file on Windows. The files are in the following directories:
UNIX. EDX_HOME/bin/notification/
Windows. EDX_HOME\bin\notification\
The template generator script generates an email notification template XML file based on the
notification properties file for each language.
Run the email and SMS template generator utility. You can run this tool in one of two ways:
Generate all new language email and SMS templates in batch. To generate a batch of
XSL template files in the corresponding languages, create a text file that contains each
language code on separate lines and place the file in the EDX_HOME/bin/notification
directory (or the EDX_HOME\bin\notification directory on Windows):
where:
filename is the name of the language code text file you created.
For example, if you add the following content to a text file called languages.txt, and use the
UNIX command ./ generateNotificationTemplate.sh -f languages -t email, then the
command generates two email templates called template_ zh_CN.xsl and template_
ja_JP.xsl.
Generate a single template for one new language. Use the following commands to
generate a single XSL template file for a new language:
where:
35
For example, to generate a Chinese email template file (called template_zh_CN.xsl), use the
following command:
To generate a Chinese SMS template file (called template_zh_CN.xsl), use the following
example command:
For SMS templates, Oracle Billing Insight names the file with the prefix template_sms. For
email templates, the file name prefix is the word template. The new template files generated
are saved in the EDX_HOME/config/notification/templates directory.
For each new language, make copies of the following template files used for generating PDF
reports, appending the locale code (languageCode_Country) to the new file names. The template
files are in the EDX_HOME/template/pdf directory (use back slashes (\) on Windows). Place the
new files in the same directory.
PrintSummary.rtf
StatementSummary.rtf
telco_std_r1.rtf
telco_std_r6.rtf
telco_std_r13.rtf
NOTE: Oracle Billing Insight comes preconfigured with a set of template files for American
English (appended with the American English locale code, _en_US).
10 By default, Oracle Billing Insight automatically detects updates to the external resource files
every five minutes. If you have turned this feature off in the global configuration file, then you
must manually restart the server for the localization changes to take effect. For more information
about automatic detection of changes to resource files, see Changing the Frequency of Automatic
Resource File Updates on page 36.
CAUTION: If you want to make any customizations to email notification text after localization, then
make the changes to the notification property files for the language and regenerate the
corresponding template file. Changes made directly to a template file will be lost if the template
regeneration runs again for that language.
36
To disable the auto-detect functionality and require that the server restart to reload resources
updates, set the parameter value to zero.
37
38
This chapter covers the public APIs available for customizing the Oracle Billing Insight user
management functionality. It includes the following topics:
39
Log into the Oracle Billing Insight instance using SQL*Plus, not as SYSDBA:
OLTP schema user_name/OLTP schema password@EBILL TNS name
where:
EBILL TNS name is the TNS name for the Oracle Billing Insight instance.
Log on to the Oracle Billing Insight instance using SQL*Plus (not as SYSDBA):
OLTP schema username/OLTP schema password@EBILL TNS name
where:
EBILL TNS name is the TNS name for the Oracle Billing Insight instance.
40
Customizing User Management Customizing the Assisted Service User Password Update
Requirements
SQL>exec EDX_PKG_BOOTSTRAPUSER.ENABLE_CSR_DEFAULT_ADMIN
SQL>commit;
UNIX. EDX_HOME/xma/config/modules/security
Windows. EDX_HOME\xma\config\modules\security
Log on to the Oracle Billing Insight Oracle Billing Insight database instance using SQL*Plus (not
as SYSDBA):
EBILL TNS name is the TNS name for the Oracle Billing Insight instance.
41
Customizing User Management Customizing End User and Agent Password Validation
Rules
Enter the following command. In this command, param_password_rule is the regular expression
with the new password rule you want to implement:
SQL>exec change_pwd_validate_rule(param_password_rule) ;
To customize the regular expression rule for password input validation, follow these steps:
User Passwords. Update the value of the common.field.pwd.rule key defined in the
commonFieldValidator.properties file. This file is in the
EDX_HOME\config\resourcebundle\com\edocs\application\resources\ directory (or the
EDX_HOME/config/resourcebundle/com/edocs/application/resources directory on
Windows), where EDX_HOME is the directory where you installed Oracle Billing Insight.
common.field.pwd.rule=^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])[^\\s]*$
Agent User Passwords. Edit the following expression in the individual validation XML files
for each type of agent user password you want to customize. For the validation file names,
see Table 9 on page 43.
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])[^\\s]*$
42
To customize the minimum and maximum length file for a password, edit the individual XML
validation files for each type of password you want to customize. For the validation file names,
see Table 9 on page 43. In the <field name="password"> section, update the minLength and
maxLength parameter values.
Customizing User Management Customizing End User and Agent Password Validation
Rules
Table 9 lists the name of the validation XML file to update for each type of password.
Table 9.
Self-Service and Assisted Service User XML Files for Validating the Password
XML Validation
File
User - Enrollment
SecurityInfoActionvalidation.xml
EDX_HOME\J2EEApps\selfservice\weblogic\self
User - Forgot
Password and Reset
Password
PasswordActionPassword_resetvalidation.xml
EDX_HOME\J2EEApps\selfservice\weblogic\self
PasswordActionPassword_changevalidation.xml
EDX_HOME\J2EEApps\selfservice\weblogic\self
CSREnrollActionvalidation.xml
EDX_HOME \J2EEApps\csr\weblogic\csr-app-
PasswordActionchangePassword_
updatevalidation.xml
EDX_HOME \J2EEApps\csr\weblogic\csr-app-
PasswordActionResetPwdConfirm_
confirmPwdvalidation.xml
EDX_HOME \J2EEApps\csr\weblogic\csr-app-
43
UNIX. EDX_HOME/xma/config/modules/services
Windows. EDX_HOME\xma\config\modules\services
44
UNIX. EDX_HOME/xma/config/modules/security
Windows. EDX_HOME\xma\config\modules\security
Edit the following constraints as required, located in the section for the IVCodeGenerator
JavaBean:
length. An integer that represents the length of the verification code. The default value is 7.
The value must be equal to or larger than 7.
exclude. A string that contains the characters that cannot appear in the verification code.
includeSpecial. Whether the validation code can include special characters such as %$().
Value can be true or false.
minUppercase. An integer, the validation code must contain at least this number of upper
case letters.
minLowercase. An integer, the validation code must contain at least this number of lower
case letters.
minNumber. An integer, the validation code must contain at least this number of digital
characters.
expirationTime. An integer and a unit (D means day, H means hour, M means minute). For
example, 4H means the verification code expires after four hours.
45
Forgot and Reset Password. When a user tries to enter a user name, account number, or
service number.
Forgot and Reset Password. When a user tries to enter a security question or security answer.
By default, each of these activities uses the same threshold. You can specify one new threshold for
all three activities, or set a different threshold value for each activity.
In the IUserManager JavaBean, three lockers are defined as properties under the tag, each
associated with one action. All three lockers reference one locker, which means all three actions
have the same threshold value (maximum number of attempts). You can specify one new value
for the max_attempts property, or specify a different locker and configure the threshold for each
activity:
<bean id="IUserManager"
class="com.edocs.common.umf.core.UserManager">
<property name="userManagerDao"> <ref local="userManagerDao"/> </property>
<property name="loginLocker"><ref local="locker"/> </property>
<property name="forgotPwdAccountLocker"> <ref local="locker"/> </property>
<property name="forgotPwdSecQstLocker"> <ref local="locker"/> </property>
</bean><bean id="locker" class="com.edocs.common.umf.core.Locker">
<property name="max_attempts" value="5"/></bean>
In the action layer, you can call the hasActionThresholdReached method to judge whether an action
reached the maximum attempt threshold:
IUserService usrService=EBillingServiceFactory.getUserService();
usrService. hasActionThresholdReached(user, action);
The method hasActionThresholdReached adds the specific number of times attempted by 1, then
compares the number of attempts with the maximum threshold. If the threshold is reached, the
method returns true. If the threshold is not reached, then it returns false.
46
47
If authentication fails, then Spring Security places AuthenticationException into the HttpSession
attribute indicated by WebAttributes.AUTHENTICATION_EXCEPTION, and displays an error page with
a reason. This attribute contains well-known keys that are used to store Spring Security information
in request or session scope. If authentication fails, the browser displays the authentication failure
URL, then which you can also customize.
Default Login Target. The URL for the page that displays to the user after logging in. The target
can be an action, JSP, or HTML.
NOTE: If the user was prompted to log in after attempting to access a secured resource, then
Spring displays the page for the originally requested URL.
Access Denied Page. The URL for the Access Denied Page. If an authenticated user requests a
page that he or she does not have authority to access, then Spring redirects the user to the
Access Denied Page.
Log Out Target Page. The destination URL that displays to the user after logging out.
Login Failure Target. The URL for the page that displays to the user on login failure.
48
UNIX. EDX_HOME/config/security/selfservice
Windows. EDX_HOME\config\security\selfservice
In the security:http section of the spring-security.xml file, edit the appropriate URL attribute,
shown in the following table.
Feature URL
Spring Configuration
Attribute
Login Page
login-page
default-target-url
error-page
None.
Mapping Details
Feature URL
Spring Configuration
Attribute
Mapping Details
logout-success-url
None.
authentication-failure-url
When a user logs into the Assisted Service and Self-Service applications, Oracle Billing Insight
validates the users role and displays only that functionality permitted for the permissions to which
the user role is assigned. For business users, Oracle Billing Insight also displays only that billing data
associated with the part of the hierarchy tree to which the user is assigned.
Oracle Billing Insight is preconfigured with the user roles in the azcfg.properties file, as shown in
Table 10.
Table 10.
User Role
Admin
Manager
PayerManager
A business user who can make and manage payments on billing data
from that position to the bottom in the hierarchy tree.
Subscriber
49
Table 10.
User Role
User
CSRAdministrator
CSR
Merchant
A business owner user who can use the Assisted Service application to
view various Return On Investment reports and monitor statistics of
user activity and billing loads.
Oracle Billing Insight azpolicy.xml file is preconfigured with the permission sets described in Table 11.
Table 11.
Permission Set
perm_Hierarchy
perm_HierarchyAdmin
perm_Payment
perm_CompanyGeneral
perm_CompanyAdmin
perm_CSRGeneral
perm_CSRAdmin
perm_Provisioning
application.
perm_Impersonation
perm_Integration
Lets users of the Assisted Service application access the URL for
integration with Siebel CRM.
50
Table 11.
Permission Set
perm_BudgetView
perm_BudgetMgmt
perm_Hier_CSR
perm_Hier_Admin
perm_Hier_MANAGER,
PAYERMANAGER
perm_Hier_Subscriber
perm_SysMetrics
perm_AccountGroupReports
perm_PostPay
By default, all users are allowed to access functions of the Dashboard, Unbilled, Statements, and
Analytics modules in the Self-Service application. No permission is checked for accessing those
features. The hierarchy position where the user is assigned is considered both for billing and business
hierarchies.
51
Table 12 shows which principal security roles are assigned to permissions as defined in the
azpolicy.xml file for authorization by the Self-Service and Assisted Service applications.
Table 12.
Permission
ADM
IN
MANA
GER
PAYERMAN
AGER
SUBSCRI
BER
B2
C
CSR_AD
MIN
CS
R
CSRMERC
HANT
perm_Hierarchy
perm_Hierarchy
Admin
perm_Payment
perm_Company
General
perm_Company
Admin
perm_CSRGene
ral
perm_CSRAdmi
n
perm_Provisioni
ng
perm_Imperson
ation
perm_Integratio
n
perm_BudgetVi
ew
perm_BudgetMg
mt
perm_Hier_CSR
perm_Hier_Adm
in
perm_Hier_MAN
AGER,
PAYERMANAGER
perm_Hier_Sub
scriber
perm_SysMetric
s
52
Table 12.
MANA
GER
PAYERMAN
AGER
SUBSCRI
BER
B2
C
CSR_AD
MIN
CS
R
CSRMERC
HANT
perm_AccountG
roupReports
perm_PostPay
Permission
Add the new role to the OLTP.EDX_BSL_AUTH_SECROLE table. For the Type field, specify B2B,
B2C, or CSR. Oracle Billing Insight does not use the other fields, which are optional.
User roles in this table are displayed in the role drop-down list.
Map the new user role to a principal role, which serves as an alias for the user role:
UNIX. EDX_HOME/config
Windows. EDX_HOME\config
To map the new user role to any of the existing principal roles (assigning it the same resource
permissions assigned to the principal role in the azpolicy.xml file), add it to the end of that
mapping statement, using a comma to separate it from the other user roles in the line.
Assign the newly defined principle role to one or more existing resource permission sets:
UNIX. EDX_HOME/config/azcfg/policy
53
Windows. EDX_HOME\config\azcfg\policy
Add the new principal role (alias) to the list of values for each permission set that youd like to
grant the role, separated by a comma.
The following example shows the perm_CompanyGeneral permission group, which controls
access to the Company tab functionality:
<permission>
<name>perm_CompanyGeneral</name>
<!-- Define the name of a resource.-->
<cpath>com.edocs.common.security.authorize.az.permissions.EBillingPermission
</cpath>
<rule>
<name>admin</name>
<!--Defines the name of the rule -->
<type>SecurityRole</type>|
<!-- Type of the rule -->
<values>ADMIN,MANAGER,PAYERMANAGER,CSR,CSR_ADMIN</values>
<!-- The role(s) which can access this resource, comma separated. Note it can
be an alias defined in azcfg.properties -->
</rule>
</permission>
Also in the azpolicy.xml file you can optionally set permissions based on context attributes. The
permission is granted by a rule based on attribute value, for example:
<permission>
<name>perm_PostPay</name>
<cpath>com.edocs.common.security.authorize.az.permissions.
EBillingPermission</cpath>
<rule>
<name>PostPay</name>
<type>ContextAttribute</type>
<matchKey>postPay</matchKey>
<values>true</values>
</rule>
</permission>
The following requirements must be met:
In <matchKey>, specify the parameter passed into the permission engine, azEngine.
54
UNIX. EDX_HOME/config/azcfg/policy
Windows. EDX_HOME\config\azcfg\policy
Add the new permission set authorization XML to the file, using the existing permission
authorizations as a guide. Assign principal roles to grant access to those users.
UNIX. EDX_HOME/xma/config/modules/security
Windows. EDX_HOME\xma\config\modules\security
Surround the code or resources you want to authorize with a tag called <authz:authorize>. For
example, the following code controls access to the Company Profile subtab:
55
<authz:authorize ifAnyGranted="perm_CompanyGeneral">
<li><a href="${ctx}/${usermanagement}/CompanyProfile_browse.action"
title="<s:text name="global.mainNavTab1.subNav3"/>">
<s:text name="global.mainNavTab1.subNav3"/></a></li></authz:authorize>
ifAllGranted. All the listed permissions must be granted for the tag to output its body.
ifAnyGranted. Any of the listed permissions must be granted for the tag to output its
body.
ifNotGranted. None of the listed permissions must be granted for the tag to output its
body.
Recurring payments
56
Customizing User Management Input File Format for the DefUsrAcctRelationship Job
Position
Names
Maximum
Length
Data Type
Required
Description
Username
255
VARCHAR2
Yes
User ID in Oracle
Billing Insight
Billing System ID
255
VARCHAR2
Yes
Billing system ID
Account Number
255
VARCHAR2
Yes
Account number
CHAR
Yes
A - Add or R Remove
Position
Names
Maximum
Length
Data Type
Required
Description
Username
36
VARCHAR2
Yes
Email Address
255
VARCHAR2
No
Billing System ID
255
VARCHAR2
Yes
Billing system ID
Account Number
255
VARCHAR2
Yes
Account number
57
Customizing User Management Input File Format for Migrating Consumer Users in Batch
Table 14.
Position
Names
Creation Date
Maximum
Length
Data Type
Required
Description
MM/DD/
YYYY
DATE
No
CHAR
No
Y - Yes or N-No
My Payment Account
Has Been Created,
Deleted, or Updated
Flag
CHAR
No
Y - Yes or N-No
My Payment is Due in
(X) Days Flag
CHAR
No
Y - Yes or N-No
My Payment was
submitted Flag
CHAR
No
Y - Yes or N-No
10
My Recurring Payment
is Setup or Modified
Flag
CHAR
No
Y - Yes or N-No
11
My Recurring Payment
is Less Than the Total
Amount Due
(Threshold Exceeded)
Flag
CHAR
No
Y - Yes or N-No
12
CHAR
No
Y - Yes or N-No
13
My Payment Failed
Flag
CHAR
No
Y - Yes or N-No
14
My Credit Card is
About to Expire Flag
CHAR
No
Y - Yes or N-No
15
My Batch Report is
Ready Flag
CHAR
No
Y - Yes or N-No
16
Flex Field 1
255
VARCHAR2
No
Flexible field
17
Flex Field 2
255
VARCHAR2
No
Flexible field
18
Flex Field 3
255
VARCHAR2
No
Flexible field
19
Flex Field 4
255
VARCHAR2
No
Flexible field
20
Flex Field 5
19
NUMBER
No
Flexible field
58
Customizing User Management Input File Format for Deleting Consumer Users in Batch
Position
Names
Maximum
Length
Data Type
Required
Description
User ID
40
VARCHAR2
Yes
59
Customizing User Management Input File Format for Deleting Consumer Users in Batch
60
This chapter covers APIs you can use to customize online billing statements. It includes the following
topics:
The online statement feature reduces operational costs when subscribers adopt online statements
instead of a printed one. Oracle Billing Insight can render a statement that looks similar to the paper
statement. Taking advantage of the dynamic of the Web, Oracle Billing Insight can expand or collapse
the amount of data displayed, drill down into details, show a more up-to-date statement, and display
a previous statement.
All call records are automatically categorized at load time, based on the predefined rules. The
rule ID is recorded in the EDX_RPT_SERVICE_DETAIL_FACT table for each service detail entry,
so Oracle Billing Insight can track which split billing rule was applied when categorizing the
service details.
Users can manually change the categorization when viewing their statements online if any of the
automatic categorization is not appropriate.
61
A special entry (with RULE_TYPE='MAN') in this table represents a manual categorization activity.
When a user recategorizes certain service detail records in the application, the rule ID of the special
entry will be recorded in EDX_RPT_SERVICE_DETAIL_FACT table, indicating that the user has
manually categorized the service detail and the manual rule ID overwrites the previous split billing
rule ID.
ISplitBillingService. The service API for split billing feature, used to retrieve a particular
service detail fact record, and change the category on a particular transaction detail. It can also
be used to retrieve the list of valid categories defined for categorizing transaction detail records.
(API is in package com.edocs.common.api.statement.splitbilling.ISplitBillingService)
62
Update your external CRM when a user creates a dispute in Oracle Billing Insight.
Send a confirmation to Oracle Billing Insight when the data has been received. Also mark the
request complete in Oracle Billing Insight, returning an external ID and status.
Pass the following information to or from the external CRM system, in the following format.
Name
Required
Description
Biller ID
Yes
Yes
Yes
Yes
Dispute Number
Yes
Disputed Amount
Yes
Dispute Description
Yes
Table 16.
Database Table
Schema
Description
EDX_RPT_PERIOD_DIM
OLAP
EDX_RPT_AGGREGATE_PERIOD_DIM
OLAP
63
Table 16.
Database Table
Schema
Description
EDX_RPT_AGGREGATE_PERIOD_LINK
OLAP
EDX_OMF_PERIOD
OLTP
For each language resource bundle you have defined in your implementation, update the
Period.properties resource file (such as Period.en.us.properties) with the extended period stringvalue pairs. This file is located in the following directory:
UNIX. EDX_HOME/config/resourcebundle/com/edocs/application/resources
Windows. EDX_HOME\config\resourcebundle\com\edocs\application\resources
UNIX. EDX_HOME/db/oracle/olap/Scripts
Windows. EDX_HOME\db\oracle\olap\Scripts
Run the stored procedure, populate_period_dim, in the OLAP schema, specifying the input
parameters described in Table 17.
The following example shows the populate_period_dim procedure:
BEGIN
populate_period_dim(p_first_period_start_date => 01/03/2013,
p_first_period_end_date => 02/02/2013,
p_number_of_years => 10,
p_delete_existing_entries => 'Y',
p_first_quarter_start_date => 02/01);
END;
In the example, the parameters indicate the following:
64
01/03/2013. Specifies that the start date of the first billing period is 01/03/2013, and
indicates that all subsequent billing periods will start on the third day of each calendar month.
02/02/2013. Specifies that the end date of the first billing period is 02/02/2013, and
indicates that all subsequent billing periods will end on the second day of each calendar
month. Do not leave a time gap between the period start and end date. The start and end
dates must be contiguous, for example, if the end date of Mar-2015 is 03/02/2015 23:59:59,
then the start date of Apr-2015 must be 03/03/2015 00:00:00.
Y. Specifies to delete all existing entries from period and aggregation dimension tables
before adding new period entries.
02/01. Specifies that the first quarter start date is 02/01, indicating that the first quarter is
02/01 through 04/30, the second quarter is 05/01 through 07/31, and so on.
Synchronize the entries in the EDX_RPT_PERIOD_DIM table to the OLTP period table,
EDX_OMF_PERIOD. Locate the pr_oltp_period_sync.sql script in the following directory, and run
the stored procedure oltp_period_sync in the OLTP schema:
UNIX. EDX_HOME/db/oracle/oltp/Scripts
Windows. EDX_HOME\db\oracle\oltp\Scripts
Table 17.
Input Parameter
Data Type
Format
Description
P_FIRST_PERIOD_
START_DATE
VARCHAR2
MM/DD/YYYY
P_FIRST_PERIOD_
END_DATE
VARCHAR2
MM/DD/YYYY
P_NUMBER_OF_
YEARS
NUMBER
None
65
Table 17.
Input Parameter
Data Type
Format
Description
P_DELETE_
EXISTING_
ENTRIES
VARCHAR2
Y or N
P_FIRST_QUARTER
_|START_DATE
VARCHAR2
MM/DD
66
This chapter covers customizing the notification feature in Oracle Billing Insight. It includes the
following topics:
67
Using and Customizing Email and SMS Notifications About Batch Email Notification
Processing
Figure 2.
Email Processing
Oracle Billing Insight merges the message template with runtime information to create the email
message. The messenger then calls the gateway, configured in the globalConfig.xma.xml file, to send
the email message.
The email composer consists of three components that function together to group multiple account
numbers by email address to roll-up messages. The components of the email composer perform the
following functions:
68
Using and Customizing Email and SMS Notifications Notification Methods: Instant and
Batch
Figure 3.
Email Grouping
Table 18.
Method of Notification
Notification Type
Edition
Generated Instantly
or By Batch Job
Bill Ready
Batch
Batch
Batch
B2B
Instant
B2C
Instant
Instant
Instant
B2B
Instant
B2B
Instant
B2C
Instant
Instant
69
Using and Customizing Email and SMS Notifications Notification Methods: Instant and
Batch
Table 18.
Method of Notification
Notification Type
Edition
Generated Instantly
or By Batch Job
Validate Email
Batch
Batch
Batch
Batch
Batch
Batch
Batch
Batch
Batch
Payment Due
Batch
Payment Scheduled
Batch
Successful Payment
Batch
Payment Failure
Batch
Payment Canceled
Batch
Batch
Instant
Statement Threshold
Batch
Payment Threshold
Batch
Batch
Instant
Instant
Instant
Batch
Batch
Instant
Instant
Forgot User ID
Instant
Instant
Instant
Instant
70
Using and Customizing Email and SMS Notifications Notification Methods: Instant and
Batch
Table 18.
Method of Notification
Notification Type
Edition
Generated Instantly
or By Batch Job
Instant
Password Expired
Batch
B2C
Batch
Email Bounceback
Batch
Instant
Batch
Batch
Batch
Batch
Batch
Batch
Batch
Batch
Batch
Batch
Batch
Batch
71
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Bill Ready
Bill Ready with
PDF Attachment
Bill Ready with
Daisy Attachment
Enrollment
(Business User)
From: [email protected]
Sent: Date Time
To: User
Subject: You Have Been Enrolled
Dear User,
Welcome! Your administrator has enrolled you in Oracle Billing Insight.
Contact your company administrator at Admin Email to receive your assigned
username. Then visit Oracle Billing Insight HTTPS URL to finish the enrollment
process.
This is an automatically generated email. Please do not reply to this message.
72
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Enrollment
(Agent User)
Enrollment (Agent
Administrator)
From: [email protected]
Sent: Date Time
To: User
Subject: You Have Been Enrolled
Dear User,
Welcome to Oracle Billing Insight.
Now you can start managing other CSRs and assisting customers with Billing
and Payment. Please visit Oracle Billing Insight CSR HTTPS URL to finish the
enrollment process.
Log in now and you will be redirected to create your own personal password.
This is an automatically generated email. Please do not reply to this message.
Enrollment
(Organization
Administrator)
From: [email protected]
Sent: Date Time
To: User
Subject: You Have Been Enrolled
Dear User,
Welcome! Your administrator has enrolled you in Oracle Billing Insight.
Contact your company customer service representative at Admin Email to
receive your assigned username. Then visit Oracle Billing Insight HTTPS URL
to finish the enrollment process.
This is an automatically generated email. Please do not reply to this message.
73
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Enrollment
(Migrated
Business User)
Enrollment
(Migrated Agent
User)
From: [email protected]
Sent: Date Time
To: User
Subject: You Have Been Enrolled
Dear User,
Welcome to the Oracle Billing Insight application.
Please visit Oracle Billing Insight CSR HTTPS URL to finish the enrollment
process.
This is an automatically generated email. Please do not reply to this message.
Validate Email
From: [email protected]
Sent: Date Time
To: User
Subject: Please Finish Your Email Validation Process
Dear User,
Thank you for updating your email address for your online Oracle Billing
Insight application.
Please click on the link Oracle Billing Insight HTTPS URL to finish your email
validation process.
This is an automatically generated email. Please do not reply to this message.
From: [email protected]
Sent: Date Time
To: User
Subject: Job Completed Successfully
Dear User,
The following job completed successfully:
Job Name Job Type Job Instance ID DDN
74
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Job Alert Failure
Recurring
Payment
Confirmation
From: [email protected]
Sent: Date Time
To: User
Subject: Welcome to Automatic Bill Payment
Dear User,
You have successfully enrolled in the Automatic Bill Payment program for your
online accounts.
The first automatic bill payment will take place after your next billing cycle.
You will receive a payment confirmation email when the payment is
submitted.
Account Number: Account Number
Payment Type: Payment Type
Amount: Amount
You can continue to make other payments on your account using the Quick
Payment option on the Payments Menu. Click Oracle Billing Insight HTTP URL
to view your e-bills anytime.
Thank you for using Automatic Bill Payment.
This is an automatically generated email. Please do not reply to this message.
75
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Recurring
Payment
Configuration
Update
From: [email protected]
Sent: Date Time
To: User
Subject: Your Automatic Bill Payment Settings Have Been Updated
Dear User,
The Automatic Bill Payment settings for your online accounts have been
updated.
Account Number: Account Number
Payment Type: Payment Type
Amount Due: Amount Due
Thank you for using Automatic Bill Payment.
Please continue visiting Oracle Billing Insight HTTP URL.
This is an automatically generated email. Please do not reply to this message.
Recurring
Payment Deleted
From: [email protected]
Sent: Date Time
To: User
Subject: Automatic Bill Payment Participation Cancelled
Dear User,
This notification confirms that your participation in Automatic Bill Payment
has been cancelled.
Account Number: Account Number
Payment Type: Payment Type
Amount: Amount
Please continue visiting Oracle Billing Insight HTTP URL.
Thank you for using Automatic Bill Payment.
This is an automatically generated email. Please do not reply to this message.
76
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Recurring
Payment
Transaction
Canceled
From: [email protected]
Sent: Date Time
To: User
Subject: Recurring Payment Transaction Has Been Cancelled
Dear User,
This notification is to inform you that your recurring payment schedule has
been deactivated, due to your payment account information being incorrect,
and payments can no longer be scheduled. Please log in to the Online Billing
Application and make the necessary changes.
Please continue visiting Oracle Billing Insight HTTPS URL.
Thank you for using Automatic Bill Payment.
This is an automatically generated email. Please do not reply to this message.
Successful Quick
Payment
From: [email protected]
Sent: Date Time
To: User
Subject: Thank You for Your Quick Payment
Dear User,
Thank you for submitting the following one-time Quick Payment.
Your total transaction amount of TotalAmount was applied to the following
account(s).
Account Number: Account Number
Amount: Amount
Master Reference Number: Reference Number
Thank you for using Quick Payment. Visit us again to make your next online
payment at Oracle Billing Insight HTTP URL.
This is an automatically generated email. Please do not reply to this message.
77
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Quick Payment
Failure
Payment Due
From: [email protected]
Sent: Date Time
To: User
Subject: You Have a Payment Due
Dear User,
You have a payment due for each of the following accounts:
Account: Account
Due Date: Due Date
Due Amount: Amount Due
You have additional bills; only Cutoff Number accounts have been displayed
above.
Thank you for using online payment.
Please continue visiting Oracle Billing Insight HTTP URL.
This is an automatically generated email. Please do not reply to this message.
78
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Payment
Scheduled
Successful
Payment
From: [email protected]
Sent: Date Time
To: User
Subject: Thank You for Your Payment
Dear User,
Your payments for the following accounts completed successfully.
Your total transaction amount of TotalAmount was applied to the following
account(s).
Account: Number
Amount Due: Amount Due
Please continue visiting Oracle Billing Insight HTTP URL.
Thank you for using online payment.
This is an automatically generated email. Please do not reply to this message.
79
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Payment Failure
Payment Canceled
From: [email protected]
Sent: Date Time
To: User
Subject: Your Payment Transaction Has Been Canceled
Dear User,
A payment transaction that has been entered has been recently canceled:
Your Total transaction amount of TotalAmount was applied to the following
account(s).
80
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Scheduled
Payment Canceled
From: [email protected]
Sent: Date Time
To: User
Subject: Refund Request has been Submitted
Dear User,
This is to inform you that your Refund Request has been submitted:
Your Total transaction amount of Amount was applied to the following
account(s).
81
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Statement
Threshold
Payment
Threshold
From: [email protected]
Sent: Date Time
To: User
Subject: Final Notice - Your Payment Threshold Exceed
Dear User,
This email is to notify you that t he amount due exceeds the threshold you set
for automated payment for the following accounts:
Account: Account Number
Amount Due: Amount Due
Configured Amount: Configured Amount
Please continue visiting Oracle Billing Insight HTTP URL.
Thank you for using online payment.
This is an automatically generated email. Please do not reply to this message.
82
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Credit Card
Expiration
Payment Account
Created
Successfully
From: [email protected]
Sent: Date Time
To: User
Subject: Payment Account Created Successfully
Dear User,
The following payment account has been created successfully:
Account Name: Account Name
Thank you for using online payment.
Please continue visiting Oracle Billing Insight HTTP URL.
This is an automatically generated email. Please do not reply to this message.
Payment Account
Updated
Successfully
From: [email protected]
Sent: Date Time
To: User
Subject: Payment Account Updated Successfully
The following payment account below has been updated successfully:
Account Name: Account Name
Please continue visiting Oracle Billing Insight HTTP URL.
Thank you for using online payment.
This is an automatically generated email. Please do not reply to this message.
83
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Payment Account
Deleted
Successfully
Batch Report
Ready
From: [email protected]
Sent: Date Time
To: User
Subject: Batch Reporting Status
Dear User,
This notification is to inform you of the status of your batch report:
Report Name: Report Name
Create Date: Create Date
Start Date: Start Date
End Date: End Date
Status: Status
Please continue visiting Oracle Billing Insight HTTP URL.
This is an automatically generated email. Please do not reply to this message.
Batch Report
Request Expiry
From: [email protected]
Sent: Date Time
To: User
Subject: Batch Report Request Expiry
Dear User,
The following batch requests have expired, please log into the Oracle Billing
Insight application and recreate the batch requests if applicable.
Thank You
Request Name: Request Name
This is an automatically generated email. Please do not reply to this message.
84
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Login Password
Changed
Security Question
Changed
From: [email protected]
Sent: Date Time
To: User
Subject: Your Password Credentials Have Been Updated
Dear User,
This notification is to inform you that either your security question and/or
answer has just been recently updated. If you are unaware of this action
please contact a customer service representative immediately at
csrPhoneNumber.
Thank You for using the Oracle Billing Insight Application.
This is an automatically generated email. Please do not reply to this message.
Forgot User ID
From: [email protected]
Sent: Date Time
To: User
Subject: Your User ID
Dear User,
This notification is to inform you that your User ID is XXXX. If you are unaware
of this action please contact a customer service representative immediately
at csrPhoneNumber.
This is an automatically generated email. Please do not reply to this message.
Refund Request has been Submitted
85
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
User Account
Reactivated
Agent User
Account
Reactivated
From: [email protected]
Sent: Date Time
To: User
Subject: Your Account Has Been Reactivated
Dear User,
Your account has been reactivated; you can once again access your online
Customer Care Application.
Please visit Oracle Billing Insight CSR HTTPS URL to finish the reactivation
process.
This is an automatically generated email. Please do not reply to this message.
Migrated User
Account
Reactivated
From: [email protected]
Sent: Date Time
To: User
Subject: Your Account Has Been Reactivated
Dear User,
Your account has been reactivated. You can now continue managing and
paying your bills online using the online Customer Care Application.
Why wait! Please visit Oracle Billing Insight HTTPS URL to finish the
reactivation process.
Thank you for using online payment.
This is an automatically generated email. Please do not reply to this message.
86
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Migrated Agent
User Account
Reactivated
Password Expired
From: [email protected]
Sent: Date Time
To: User
Subject: Your Administrator Password is Expiring
Dear User,
Your account password will expire in Number days. Please set a new
password.
Thank you for using online payment.
This is an automatically generated email. Please do not reply to this message.
Email Bounceback
From: [email protected]
Sent: Date Time
To: User
Subject: Invalid Email Address
Dear User,
Thank you for updating your email address for your online Customer Care
application.
Please click on the link Secure Validate Email to finish your email validation
process.
This is an automatically generated email. Please do not reply to this message.
87
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Secure Payment
Option Selected
88
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Payment - Bank
Account
Enrollment
(Account
Activation)
89
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Payment - Bank
Account
Enrollment (Bank
Account Number
Update)
90
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Payment - Bank
Account
Enrollment (Bank
Routing Number
Update)
91
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Payment - Bank
Account
Enrollment (Bank
Account Number
and Routing
Number Update)
92
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Payment - Bank
Account
Enrollment (Bank
Account Type
Update)
93
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Payment - Bank
Account
Enrollment (Bank
Account Number
and Bank Type
Update)
94
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Payment - Bank
Account
Enrollment (Bank
Account, Routing
Number, and Bank
Type Update)
If the bank account, routing number, and bank type update is not successful:
Your current Bank Account Information is out of date.
New Bank Account Number is: New Payment Account
Current Bank Account Number is: Old Payment Account
New Bank Routing Number is: New Routing Number
Current Bank Routing Number is: Old Routing Number
New Bank Type is: New Payment Type
Current Bank Type is: Old Payment Type
Please login to change your profile.
95
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Payment
Consolidator Account
Enrollment Job
Errors
From: [email protected]
Sent: Date Time
To: User
Subject: Errors/Rejections while executing the Account Enrollment Job - Job
Name with job instance ID Job Instance ID
Dear User,
This notification is to inform you that one or more records were not
successfully processed when running the following job or rejected by Biller/
Consolidator:
Job Name: Job Name
Task Name: Task Name
Job Instance ID: Job Instance ID
Input File Name: File Path
Payment
Consolidator Account
Enrollment
Response Job
Errors
From: [email protected]
Sent: Date Time
To: User
Subject: Errors while executing the Account Enrollment Job - Job Name with
job instance ID Job Instance ID
Dear User,
This notification is to inform you that one or more records were not
successfully processed when running the following job:
Job Name: Job Name
Task Name: Task Name
Job Instance ID: Job Instance ID
Response File Name: Response File Name
96
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Payment
Consolidator - Bill
Summary Job
Errors
97
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Business Users
Email
Notification
Type
Payment
Consolidator - Bill
Summary
Acknowledgement
Job Errors
From: [email protected]
Sent: Date Time
To: User
Subject: Errors/Rejections while executing the Bill Summary
Acknowledgment Job - Job Name with job instance ID Job Instance ID
Dear User,
This notification is to inform you that one or more records were not
successfully processed when running the following job or rejected by the
payment consolidator:
Job Name: Job Name
Job Instance ID: Job Instance ID
Success Number entries processed successfully.
Failed Number entries failed to be processed.
Rejected Number entries rejected by consolidator.
If all accounts were rejected:
All entries rejected by Biller/Consolidator.
Please refer to Log File Path for more information.
Or
Please refer to Reject File Path for more information about the rejected
accounts.
This is an automatically generated email. Please do not reply to this message
Single Sign-On
(SSO) Bulk Load
Error
From: [email protected]
Sent: Date Time
To: User
Subject: SSO Bulk Load Error Notification
Dear Administrator:
This notification is to inform you of the status of:
Job Instance ID: Job Instance ID
Input File Name: File Name
Failed Number entries failed to be processed.
Please see log file.
This is an automatically generated email. Please do not reply to this message.
98
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Bill Ready
Bill Ready with PDF
Attachment
Bill Ready with
Daisy Attachment
99
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Enrollment
(Consumer User)
Enrollment
(Agent User)
From: [email protected]
Sent: Date Time
To: User
Subject: You Have Been Enrolled
Dear User,
Welcome! Your administrator has enrolled you in the Oracle Billing Insight
Application.
Contact your company administrator at Admin_Email to receive your
assigned username. Then visit Oracle Billing Insight HTTPS CSR URL to
finish the enrollment process.
Log in now and you will be redirected to create your own personal
password.
This is an automatically generated email. Please do not reply to this
message.
100
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Enrollment (Agent
Administrator)
Enrollment
(Migrated Consumer
User)
From: [email protected]
Sent: Date Time
To: User
Subject: You Have Been Enrolled
Dear User,
Welcome to the Oracle Billing Insight application. You can now start
managing and paying your bills online.
Why wait! Please visit Oracle Billing Insight HTTPS URL to finish the
enrollment process.
This is an automatically generated email. Please do not reply to this
message.
Enrollment
(Migrated Agent
User)
From: [email protected]
Sent: Date Time
To: User
Subject: You Have Been Enrolled
Dear User,
Welcome to the Oracle Billing Insight application.
Please visit Oracle Billing Insight HTTPS CSR URL to finish the enrollment
process.
This is an automatically generated email. Please do not reply to this
message.
10 1
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Validate Email
From: [email protected]
Sent: Date Time
To: User
Subject: Job Completed Successfully
Dear User,
The following job completed successfully:
Job Name Job Type Job Instance ID DDN
From: [email protected]
Sent: Date Time
To: User
Subject: Job Failure
Dear User,
The following job did not complete successfully:
Job Name Job Type Job Instance ID DDN Exception
102
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Recurring Payment
Confirmation
Recurring Payment
Configuration
Update
From: [email protected]
Sent: Date Time
To: User
Subject: Your Automatic Bill Payment Settings Have Been Updated
Dear User,
The Automatic Bill Payment settings for your online accounts have been
updated.
Account Number: Account Number
Payment Type: Payment Type
Amount Due: Amount Due
Thank you for using Automatic Bill Payment.
Please continue visiting Oracle Billing Insight HTTP URL.
This is an automatically generated email. Please do not reply to this
message.
10 3
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Recurring Payment
Deleted
Recurring Payment
Transaction
Canceled
From: [email protected]
Sent: Date Time
To: User
Subject: Recurring Payment Transaction Has Been Cancelled
Dear User,
This notification is to inform you that your recurring payment schedule has
been deactivated, due to your payment account information being
incorrect, and payments can no longer be scheduled. Please log in to the
Online Billing Application and make the necessary changes.
Please continue visiting Oracle Billing Insight HTTPS URL
Thank you for using Automatic Bill Payment.
This is an automatically generated email. Please do not reply to this
message.
104
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Successful Quick
Payment
Quick Payment
Failure
From: [email protected]
Sent: Date Time
To: User
Subject: Your Quick Payment Failed
A problem occurred during your one-time Quick Payment transaction. The
following payment did not process successfully:
Amount: Amount
Master Reference Number: Reference Number
Please visit Oracle Billing Insight HTTP URL.
This is an automatically generated email. Please do not reply to this
message.
10 5
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment Due
Payment Scheduled
From: [email protected]
Sent: Date Time
To: User
Subject: Automatic Payment Schedule Confirmed
Dear User,
Automatic payments have been scheduled for the following accounts:
Account: Number
Due Date: Due Date
Amount Due: Due Amount
Amount Paid: Configure Amount
Outstanding Balance: Balance Due
Statement Credit has been credited to your account.
Thank you for using online payment.
Please continue visiting Oracle Billing Insight HTTP URL.
This is an automatically generated email. Please do not reply to this
message.
106
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Successful Payment
Payment Failure
From: [email protected]
Sent: Date Time
To: User
Subject: Your Payment Did Not Complete Successfully
Dear User,
Your online payment for the following accounts has failed.
Your Total transaction amount of Amount was applied to the following
account(s).
Account: Number
Amount Due: Due Amount
Please continue visiting Oracle Billing Insight HTTP URL.
This is an automatically generated email. Please do not reply to this
message.
10 7
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment Canceled
From: [email protected]
Sent: Date Time
To: User
Subject: Your Scheduled Payment Has Been Canceled
Dear User,
A payment that has been scheduled was recently canceled for the following
accounts:
Your Total transaction amount of Amount was applied to the following
account(s).
108
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Refund Request
Submitted
From: [email protected]
Sent: Date Time
To: User
Subject: 1st Notice - Your Payment Threshold Exceed
Dear User,
Your most recent statement has exceeded the payment threshold you have
set for yourself.
Account: Number
Amount Due: Due Amount
Configured Amount: Configured Amount
Please log into your Oracle Billing Insight application at Oracle Billing
Insight HTTPS URL and make the necessary changes.
Thank You
10 9
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment Threshold
Payment Card
Expiration
From: [email protected]
Sent: Date Time
To: User
Subject: Your Card is About to Expire
Dear User,
The following card account used for online payments is about to expire:
Credit (or Debit) Card Number: Credit or Debit Card Number
Expiration Date: Expiration Date
Please continue visiting Oracle Billing Insight HTTP URL.
Thank you for using online payment.
This is an automatically generated email. Please do not reply to this
message.
110
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment Account
Create
Payment Account
Update
From: [email protected]
Sent: Date Time
To: User
Subject: Payment Account Updated Successfully
The following payment account below has been updated successfully:
Account Name: Account Name
Please continue visiting Oracle Billing Insight HTTP URL.
Thank you for using online payment.
This is an automatically generated email. Please do not reply to this
message.
Payment Account
Delete
From: [email protected]
Sent: Date Time
To: User
Subject: Payment Account Deleted Successfully
Dear User,
The following payment account has been deleted successfully:
Account Name: Account Name
Please continue visiting Oracle Billing Insight HTTP URL.
This is an automatically generated email. Please do not reply to this
message.
11 1
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Batch Report Ready
Batch Report
Request Expiry
From: [email protected]
Sent: Date Time
To: User
Subject: Batch Report Request Expiry
Dear User,
The following batch requests have expired, please log into the Oracle Billing
Insight application and recreate the batch requests if applicable.
Thank You
Request Name: Request Name
This is an automatically generated email. Please do not reply to this
message.
112
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Login Password
Changed
Security Question
Changed
From: [email protected]
Sent: Date Time
To: User
Subject: Your Password Credentials Have Been Updated
Dear User,
This notification is to inform you that either your security question and/or
answer has just been recently updated. If you are unaware of this action
please contact a customer service representative immediately at
csrPhoneNumber.
Thank You for using the Oracle Billing Insight Application.
This is an automatically generated email. Please do not reply to this
message.
Forgot User ID
From: [email protected]
Sent: Date Time
To: User
Subject: Your User ID
Dear User,
This notification is to inform you that your User ID is XXXX. If you are
unaware of this action please contact a customer service representative
immediately at csrPhoneNumber.
This is an automatically generated email. Please do not reply to this
message.
Refund Request has been Submitted
11 3
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
User Account
Reactivated
From: [email protected]
Sent: Date Time
To: User
Subject: Your Account Has Been Reactivated
Dear User,
Your account has been reactivated; you can once again access your online
Customer Care Application.
Please visit Oracle Billing Insight CSR HTTPS URL to finish the reactivation
process.
This is an automatically generated email. Please do not reply to this
message.
Migrated User
Account Reactivated
From: [email protected]
Sent: Date Time
To: User
Subject: Your Account Has Been Reactivated
Dear User,
Your account has been reactivated. You can now continue managing and
paying your bills online using the online Customer Care Application.
Why wait! Please visit Oracle Billing Insight HTTPS URL to finish the
reactivation process.
Thank you for using online payment.
This is an automatically generated email. Please do not reply to this
message.
114
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Migrated Agent User
Account Reactivated
Password Expired
From: [email protected]
Sent: Date Time
To: User
Subject: Your Administrator Password is Expiring
Dear User,
Your account password will expire in Number days. Please set a new
password.
Thank you for using online payment.
This is an automatically generated email. Please do not reply to this
message.
11 5
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
User-Account
Relationship Job
Status
Email Bounceback
From: [email protected]
Sent: Date Time
To: User
Subject: Invalid Email Address
Dear User,
Thank you for updating your email address for your online customer care
application.
Please click on the link Secure Validate Email to finish your email validation
process.
This is an automatically generated email. Please do not reply to this
message.
116
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Secure Payment
Option Selected
11 7
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment - Bank
Account Enrollment
(Account Activation)
118
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment - Bank
Account Enrollment
(Bank Account
Number Update)
From: [email protected]
Sent: Date Time
To: User
Subject: Bank Account Enrollment Notification
Dear User,
If the bank account number update is successful:
Your Bank Account Number has been changed.
New Bank Account Number is: New Payment Account
Old Bank Account Number was: Old Payment Account
11 9
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment - Bank
Account Enrollment
(Bank Routing
Number Update)
From: [email protected]
Sent: Date Time
To: User
Subject: Bank Account Enrollment Notification
Dear User,
If the bank routing number update is successful:
Your Bank Routing Number has been changed.
New Bank Routing Number is: New Routing Number
Old Bank Routing Number was: Old Routing Number
120
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment - Bank
Account Enrollment
(Bank Account
Number and Routing
Number Update)
12 1
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment - Bank
Account Enrollment
(Bank Account Type
Update)
From: [email protected]
Sent: Date Time
To: User
Subject: Bank Account Enrollment Notification
Dear User,
If the bank account type update is successful:
Your Bank Account Information has been changed.
Your new Bank Type is: New Payment Type
Your old Bank Type was: Old Payment Type
122
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment - Bank
Account Enrollment
(Bank Account
Number and Bank
Type Update)
If the bank account number and bank type update is not successful:
Your current Bank Account Information is out of date.
New Bank Account Number is: New Payment Account
Current Bank Account Number is: Old Payment Account
New Bank Type is: New Payment Type
Current Bank Type is: Old Payment Type
Please login to change your profile.
12 3
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment - Bank
Account Enrollment
(Bank Account,
Routing Number,
and Bank Type
Update)
If the bank account, routing number, and bank type update is not
successful:
Your current Bank Account Information is out of date.
New Bank Account Number is: New Payment Account
Current Bank Account Number is: Old Payment Account
New Bank Routing Number is: New Routing Number
Current Bank Routing Number is: Old Routing Number
New Bank Type is: New Payment Type
Current Bank Type is: Old Paymen tType
Please login to change your profile.
124
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment
Consolidator Account Enrollment
Job Errors
Please refer to Log File Name for more information. This is automatically
generated email. Please do not reply to this email address.
12 5
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment
Consolidator Account Enrollment
Response Job Errors
From: [email protected]
Sent: Date Time
To: User
Subject: Errors while executing the Bill Summary Job - Job Name with job
instance ID Job Instance ID
Dear User,
This notification is to inform you that one or more records were not
successfully processed when running the following job:
Job Name: Job Name
Job Instance ID: Job Instance ID
Success Number entries processed successfully.
Failed Number entries failed to be processed.
Please refer to Log File Path for more information.
This is an automatically generated email. Please do not reply to this
message.
126
Using and Customizing Email and SMS Notifications Email Notification Template
Content for Consumer Users
Email Notification
Type
Payment
Consolidator - Bill
Summary
Acknowledgement
Job Errors
From: [email protected]
Sent: Date Time
To: User
Subject: Errors/Rejections while executing the Bill Summary
Acknowledgment Job - Job Name with job instance ID Job Instance ID
Dear User,
This notification is to inform you that one or more records were not
successfully processed when running the following job or rejected by the
payment consolidator:
Job Name: Job Name
Job Instance ID: Job Instance ID
Success Number entries processed successfully.
Failed Number entries failed to be processed.
Reject Number entries rejected by consolidator.
If all accounts were rejected:
All entries rejected by Biller/Consolidator.
Please refer to Log File Path for more information.
Or
Please refer to Reject File Path for more information about the rejected
accounts.
This is an automatically generated email. Please do not reply to this
message
Single Sign-On
(SSO) Bulk Load
Error
From: [email protected]
Sent: Date Time
To: User
Subject: SSO Bulk Load Error Notification
Dear Administrator:
This notification is to inform you of the status of:
Job Instance ID: Job Instance ID
Input File Name: File Name
Failed Number entries failed to be processed.
Please see log file.
This is an automatically generated email. Please do not reply to this
message.
12 7
Using and Customizing Email and SMS Notifications SMS Notification Template
Content
SMS Notification
Type
Bill Ready
Bill Ready with
PDF Attachment
Bill Ready with
Daisy Attachment
Recurring
Payment
Confirmation
From: [email protected]
Subject: Welcome to Automatic Bill Payment
You have successfully enrolled in the Automatic Bill Payment program for your
online billing accounts.
The first automatic bill payment will take place after your next billing cycle.
You will receive a payment confirmation message when the payment has been
submitted.
Recurring
Payment
Configuration
Update
From: [email protected]
Subject: Your Automatic Bill Payment Settings Have Been Updated
Recurring
Payment Delete
From: [email protected]
Subject: Automatic Bill Payment Participation Cancelled
An Automatic Bill Payment has been recently updated for at least one of your
online billing accounts.
From: [email protected]
Subject: Thank You for Your Payment
Thank you for submitting an online payment
Account Number: Account Number in the Amount of Payment Amount
Please use this reference number: Reference Number
To view your payment activity go to to Oracle Billing Insight HTTPS URL.
128
Using and Customizing Email and SMS Notifications SMS Notification Template
Content
SMS Notification
Type
Quick Payment
Failure
From: [email protected]
Subject: Payment Has Failed
A problem has occurred with your Payment transaction Reference Number
that was in the amount of Amount.
To view your statement go to to Oracle Billing Insight HTTPS URL.
Quick Payment
Cancel
From: [email protected]
Subject: Your Payment Transaction Has Been Canceled.
Your payment transaction Account Number Account Number in the amount of
Configured Amount has recently been canceled.
To view payment activity go to Oracle Billing Insight HTTPS URL.
Scheduled
Payment Cancel
From: [email protected]
Subject: Your Scheduled Payment Has Been Canceled
A scheduled payment transaction Account Number Account Number in the
amount of Configured Amount has recently been canceled.
To view payment activity go to Oracle Billing Insight HTTPS URL.
Quick Payment
Updated
From: [email protected]
Subject: Your Payment Transaction Has Been Updated
Your payment transaction Account Number Account Number in the amount of
Configured Amount has recently been updated.
To view payment activity go to Oracle Billing Insight HTTPS URL.
Scheduled
Payment Update
From: [email protected]
Subject: Your Scheduled Payment Has Been Updated
A scheduled payment transaction has recently been updated
Account Number: Account Number
To view your payment activity go to Oracle Billing Insight HTTPS URL.
Payment Due
From: [email protected]
Subject: Payment Due
You have a payment that is due on an outstanding billing account.
Account: Account Number
You may have additional accounts that have a payment due, as only Cutoff
Number billing accounts have been displayed.
To view your payment activity go to Oracle Billing Insight HTTPS URL.
12 9
Using and Customizing Email and SMS Notifications SMS Notification Template
Content
SMS Notification
Type
Payment
Scheduled
From: [email protected]
Subject: Automatic Payment Schedule Confirmed
A payment has automatically been scheduled for a billing account that is
coming due.
Account: Account Number
You may have additional payments scheduled automatically, as only Cutoff
Number billing accounts have been displayed.
To view your payment activity go to Oracle Billing Insight HTTPS URL.
Successful
Payment
From: [email protected]
Subject: Thank you for Your Payment
Thank you. Your online payment has been processed successfully.
Account: Account Number
You may have additional payments that have been processed successfully, as
only Cutoff Number billing accounts have been displayed.
To view your payment activity go to Oracle Billing Insight HTTPS URL.
Payment Failure
From: [email protected]
Subject: Your Payment Did Not Complete Successfully
Sorry to inform you but your payment submitted online has failed.
Account: Account Number
You may have additional payments that have failed, as only Cutoff Number
billing accounts have been displayed.
To view your payment activity go to Oracle Billing Insight HTTPS URL.
Statement
Threshold
From: [email protected]
Subject: 1st Notice - Your Payment Threshold Exceed
Your latest statement loaded online has exceeded the payment threshold set
for online payments.
Account: Account Number
Configured Amount: Configured Amount
To view your payment activity go to Oracle Billing Insight HTTPS URL.
130
Using and Customizing Email and SMS Notifications SMS Notification Template
Content
SMS Notification
Type
Payment
Threshold
From: [email protected]
Subject: Final Notice - Your Payment Threshold Exceed
Final Notice: This is to notify you that the amount due on a billing account
exceeds the threshold set for automated online payments.
You may have additional statements that have exceeded their threshold, as
only Cutoff Number billing accounts have been displayed.
To view your payment activity go to Oracle Billing Insight HTTPS URL.
Credit Card
Expiration
From: [email protected]
Subject: Your Credit Card is About to Expire
Your online payment account using a credit card for online payments is about
to expire.
Credit Card Number: Card Number
Expiry Date: Expiration Date
To view your payment activity go to Oracle Billing Insight HTTPS URL.
Payment Account
Created
Successfully
From: [email protected]
Subject: Payment Account Created Successfully
The following payment account(s) have been created successfully:
Account Name: Account Name
To view your payment accounts go to Oracle Billing Insight HTTPS URL.
Payment Account
Updated
Successfully
From: [email protected]
Subject: Payment Account Updated Successfully
The following payment account(s) have been updated successfully:
Account Name: Account Name
To view your payment accounts go to Oracle Billing Insight HTTPS URL.
Payment Account
Deleted
Successfully
From: [email protected]
Subject: Payment Account Updated Successfully
The following payment account(s) have been deleted successfully:
Account Name: Account Name
To view your payment accounts go to Oracle Billing Insight HTTPS URL.
13 1
Using and Customizing Email and SMS Notifications Customizing the Content of
Notifications
SMS Notification
Type
Batch Report
Ready
From: [email protected]
Subject: Batch Report Status
Your batch report has completed.
Report Status
To view your batch reports go to Oracle Billing Insight HTTPS URL.
Batch Report
Request Expiry
From: [email protected]
Subject: Batch Report Request Expiry
A batch request has expired. Please recreate the batch request if applicable.
To view your batch reports go to Oracle Billing Insight HTTPS URL.
UNIX. EDX_HOME/config/resourcebundle/com/edocs/application/resources/
Windows. EDX_HOME\config\resourcebundle\com\edocs\application\resources
132
Edit the template generator script for your implementation, located in the following directory.
The template generator script generates an email or SMS notification template XML file based on
the notification properties file.
Using and Customizing Email and SMS Notifications Customizing the Default Display
Patterns Used in Notifications
UNIX. EDX_HOME/bin/notification/generateNotificationTemplate.sh
Windows.EDX_HOME\bin\notification\generateNotificationTemplate.cmd
Update the value of EDX_HOME and using the full path names for your installation.
Run the template generator script. To generate the email template file, template_en_US.xsl, run
the following command:
To generate the SMS template file, template_sms_en_US.xsl, run the following command:
By default, Oracle Billing Insight automatically detects updates to the external resource files
every five minutes. If you have turned this feature off in the global configuration file, then you
must manually restart the server for the notification changes to take effect. For more information
about automatic detection of changes to resource files, see Changing the Frequency of Automatic
Resource File Updates on page 36.
Date
Time
Integers
Decimals (double)
Amounts
The default notification display patterns are defined in the notification.cfg.xma.xml file. The valid
display patterns are defined in the ApplicationResourcesNew.properties file, as shown:
#################### Date,Time,Number ########################
global.pattern.number.integer=#,##0
global.pattern.number.decimal=#,##0.00
global.pattern.number.percent=#0.00%
global.pattern.number.amount=\u00A4#,##0.00
global.pattern.number.amount2=\u00A4#,##0.00;\u00A4(#,##0.00)
global.pattern.number.amount3=#,##0;(#,##0)
global.pattern.number.amount4=#,##0.00;(#,##0.00)
global.pattern.date.short=M/d/yy
global.pattern.date.medium=MM/dd/yyyy
13 3
Using and Customizing Email and SMS Notifications Configuring Messaging Properties
global.pattern.date.long=MMM/dd/yyyy
global.pattern.date.input=MM/dd/yyyy
global.pattern.time.short=HH:mm
global.pattern.time.long=HH:mm:ss
global.pattern.date.time=MM/dd/yyyy HH:mm:ss
The defaults set in the notification.cfg.xma.xml are used in all Oracle Billing Insight applications:
Self-Service, Assisted Service, Command Center, and Web Services. For example, you can change
the default date pattern from global.pattern.date.medium (M/d/yy), to global.pattern.date.long
(MMM/dd/yyyy).
UNIX. EDX_HOME/xma/config/com/edocs/common/notification\
Windows. EDX_HOME\xma\config\com\edocs\common\notification\
Global notification type settings. The settings for each notification type, which indicate
whether to send or suppress the notification type for all applicable users or allow individual users
to choose whether to receive the notification.
Maximum email queue threads. The maximum number of message threads to create when
sending email and SMS messages. The default is 10 threads.
134
Using and Customizing Email and SMS Notifications Configuring Messaging Properties
Maximum queue elements per thread. Email messages are sent in batches, by thread. The
maximum number of messages that each thread must send in each batch. The default is 30
messages.
Queue dispatcher sleep period. The time period, in seconds, that the dispatcher must sleep
between sending email and SMS messages, to allow other threads to complete sends before
removing queued messages. The default is 5 seconds.
Queue hanging timeout period. The time period, in seconds, that the dispatcher must wait
before deciding that the email host or SMS gateway is not responding and queue messages. The
default period is 15 seconds.
Queue storage directory. The directory used to temporarily store undeliverable email and SMS
messages. By default, the queue storage directory is:
UNIX. EDX_HOME/mailqueue/
Windows. EDX_HOME\mailqueue\
UNIX. EDX_HOME/xma/config/com/edocs/common/notification
Windows. EDX_HOME\xma\config\com\edocs\common\notification
13 5
Using and Customizing Email and SMS Notifications Configuring Messaging Properties
To specify global settings for each notification type valid in your edition of Oracle Billing Insight,
specify the following values under the preference bean for each notification type. Each
notification type is defined as a bean under the notificationPreferenceConfig property in the
NotificationPreferenceManagerTarget bean.
Notification
Configuration Property
sms
selectedByDefault
Description
The preference setting for an SMS notification of this message
type:
ADAOnly
resource
additionalParams
136
Using and Customizing Email and SMS Notifications Configuring Messaging Properties
Notification
Configuration Property
Description
emailCheckBoxTitle
smsCheckBoxTitle
For example, the following code in the notification.cfg.xma.xml file shows where you specify the
global properties for the bill-ready notification type:
bean id="NotificationPreferenceManagerTarget"
class="com.edocs.common.notification.core.NotificationPreferenceManager"
scope="singleton" lazy-init="default" autowire="default" dependencycheck="default">
- <!-- notification preference setting, this configuration can enable/disable
certain notification for all users on specified channel
-->
- <property name="notificationPreferenceConfig">
- <list merge="default">
- <bean id="BillNotificationConfigBean"
class="com.edocs.common.notification.config.PreferenceBean" lazy-init="default"
autowire="default" dependency-check="default">
- <!-- Notification preference name
-->
- <property name="name">
<value>newStmtAvailable</value>
</property>
- <!-- sms notification preference setting. Its value specifies enable/disable
this message sending for certain channel.
-->
- <property name="sms">
<value>notSet</value>
</property>
- <!-- email notification preference setting. Its value specifies enable/disable
this message sending for certain channel.
-->
- <property name="selectedByDefault">
<value>notSet</value>
</property>
- <!-- Resource bundle of message which is shown in E-Billing notification
preference UI page. It is used to automatically generate notification preference
page.
-->
- <property name="resource">
<value>user.message.notification.billReady</value>
</property>
- <property name="emailCheckBoxTitle">
<value>global.label.billReady</value>
13 7
Using and Customizing Email and SMS Notifications Adding a Custom Message
Provider
</property>
- <property name="smsCheckBoxTitle">
<value>global.label.billReadySMS</value>
</property>
</bean>
Only those settings for notification types valid in your edition are recognized. For information
about valid email notification types for business users, see Email Notification Template Content
for Business Users on page 72. For information about valid email notification types for consumer
users, see Email Notification Template Content for Consumer Users on page 99.
To update any of the following email notification properties, specify the value under the
corresponding property.
Property Name
mailQueueThreadMax
mailQueueElementsPerThread
mailQueueDispatcherSleepPeriod
mailQueueHangingTimeout
mailQueueStorageDirectory
maxEntriesPerUser
138
Using and Customizing Email and SMS Notifications Adding a Custom Message
Provider
Initialize the new class with all the information necessary to send a message of that type using
the custom messaging provider.
It is not necessary to include static information that does not vary by individual message. For
example, an email address is necessary if you are using an SMTP provider and the address
changes for every message. However, the SMTP hostname does not change with every message.
If an existing implementation has all the necessary information, then you can use that
implementation without modification, except that you must provide a unique message by calling
the setMessageType method on the object after object creation. The class
com.edocs.common.notification.extensions.InternalMessage provides a reference
implementation.
Create a new transport class with the logic for sending messages using the new message
provider, overriding the com.edocs.common.notification.extensionsapi.AbstractTransporter
class.
This transport class contains the methods for sending the message. All of the information
necessary for this class is available from the IMessage object.
Add a JavaBean definition to the notification.cfg.xma.xml file. Give the file a name that ends with
Bean, such as CustomTransportBean.
This name (without the Bean part) is used inside the NotificationService class to return the
correct messenger, for example: IMessenger messenger =
MessengerFactory.getMessenger(CustomTransport).
The notification.cfg.xma.xml file is located in the following directory:
UNIX. EDX_HOME/xma/config/com/edocs/common/notification\
Windows. EDX_HOME\xma\config\com\edocs\common\notification\
In the JavaBean definition, add all the properties required by the transporter to use the
messaging provider, such as the SMTP name. Do not include items like the email address, which
the message object provides.
The class com.edocs.common.notification.extensions.TrueTransporter and the JavaBean
definition for TrueTransporterBean in the notification.cfg.xma.xml file provide a reference
implementation.
Create a new NotificationService class that determines when to use the transport class, which
you wrote in Step 3, which overrides the com.edocs.common.api.notification.INotificationService
class.
INotificationService has two methods for sending instant messages and batch messages. These
methods decide which transport to use based on the IMessage object being passed in. You must
supply the logic to call the MessengerFactory with the transport in Step 3 as the transport type,
for the types of Messages you want that transport to send.
After you create the NotificationService class, add or modify the JavaBean called
NotificationService to the notification.cfg.xma.xml file. NotificationServiceFactory looks up the
JavaBean called NotificationService from the XML file.
The class com.edocs.common.notification.core.NotificationService and the JavaBean definition
for NotificationService in the notification.cfg.xma.xml file provide a reference implementation.
13 9
Using and Customizing Email and SMS Notifications Configuring the Secure Bill-Ready
Notification Password
UNIX. EDX_HOME/xma/config/modules/statement
Windows. EDX_HOME\xma\config\modules\statement
Create a custom class specifying the password requirement for customers opening the PDF file
attached to bill-ready notifications.
UNIX. EDX_HOME/xma/config/modules
Windows. EDX_HOME\xma\config\modules
140
This chapter covers using the Reporting Engine feature in Oracle Billing Insight. It includes the
following topics:
Changing the Local Storage Location for the HTML Report Formatting Files on page 205
Cost center reports (hierarchy report), such as cost summary by cost centers
Address book
The Reporting Engine offers great tools to help you implement these use cases. It uses XML to
describe how you want to present a report. Then the Reporting Engine does the rest of the work for
you, including retrieving data from data source, formatting, and then presenting the data to the user
through Velocity templates.
The Reporting Engine is designed to do the following:
Use XML Files: Create an XML file to describe the report you want to create. The Reporting
Engine automatically generates that report for you, in variety of formats, such as HTML or CVS.
14 1
Have an extendable, customizable UI: You can extend the Reporting Engine to support any
UI customization. The Reporting Engine uses Velocity templates, which is a powerful reporting
tool based on Model-View-Controller (MVC) technology.
Be maintainable: The Reporting Engine is MVC-based and offers the best separation of
presentation logic and business logic, which makes it maintainable.
Multiple data sources. The Reporting Engine connects to multiple data sources, including SQL
data source, object data source, and DSV data source.
Prompts. Prompts allow you to select desired data from data source.
Calculator operations. Summary, Boolean, minimal, average and count operations are
supported.
Charting. This feature supports bar, stack bar charts, line, and pie charts.
Template. Template-based presentation for both Web-based and non-Web based applications.
Formatting. Support is provided for locale based format for numeric values and dates.
Print friendly view. This feature allows you to generate a print friendly view for printing.
CSV download. CSV download lets you download the report in CSV format.
XML download. XML download lets you download the report in XML format.
PDF download. PDF download lets you download the report in PDF format. PDF format is not
generated automatically for all the reports. You must create an RTF template file for particular
reports to generate in PDF format.
Custom report. Custom reports allow users to create their own reports and save them for later
retrieval.
Drilldown and Breadcrumb links. The Report engine offers a way to drill down to different
reports and drill back through breadcrumb links.
Seamless integration with Struts and Tiles. The Reporting Engine is not tied to a particular
presentation framework, but offers excellent support for Struts and Tiles.
Batch report. When it takes a long time to generate a report online, you can use the batch
report feature to send a request which will be processed offline.
Unlimited Paging. If the data source has too many rows and there is a performance issue
retrieving all the rows, then the Reporting Engine can retrieve them in batches. The paging
through these batches is seamless and retrieving result sets in batches is invisible to the user.
142
The new Velocity version has not been tested with Oracle Billing Insight. Also, the default
velocity.properties file has been changed for Oracle Billing Insight. The velocityCount starts from 0
instead of the default 1, and the templates can be loaded as file and also as class.
You cannot define your own data source. One way to get around this is to retrieve your data as a list
of objects and then use the Object Datasource feature to present it through the Reporting Engine.
You cannot extend report XML to add your own custom tags.
Figure 4.
The overall Reporting Engine architecture follows the MVC model. The data source is the model, the
report manager, transformer and report XML are the controller, and the template is the view.
Report Client. This client calls the Report API to generate reports. The client can be a Web
Client, such as JSP and Servlet or Struts and Tiles, or it can be a regular standalone application.
Report API. This is a set of APIs that the reporting client can use to generate a report. For
information about how this API works, go to the Oracle Billing Insight Javadoc as described in
Accessing Oracle Billing Insight Data Dictionary and Javadoc on page 25.
14 3
Report Context. The Report context is used by the Report Client to exchange information with
the Report Engine. It includes the information passed from the client that is used to bind the SQL
query parameters and parse the templates. For example, the context can contain user session
information, such as login name, current role and organization level. Or it can contain report
input information, such as the date range used to generate reports. All the objects in the context
can be accessed using Velocity templates.
Request Queue. This queue holds all offline batch report requests. Users can generate reports
immediately, or they can request that the reports be generated offline. Offline reports send email
notification when the reports are ready. The Request Queue is a JMS queue, and holds all offline
report requests.
Batch Processor. The processor retrieves offline report requests from the Request Queue, and
sends them to the Report Engine for processing. The batch processor is a batch job that runs in
Command Center.
Report Manager. The Report Manager is the central controller of the report engine. It receives
reporting requests from the client, and invokes the appropriate data source and transformer to
perform the desired processing.
Data source. This item represents the data source. The data source can be an SQL statement,
an Object or a CSV file.
Transformer. The transformer transforms the query result from presentation, and applies a set
of computations on it, including sorting, grouping, paging, aggregation (summary, average,
Boolean, minimal, count), and formatting. The transformer can also cache the data retrieved
from data source so that the operations can be performed in the cache data (which reduces
Oracle Billing Insight database accesses).
Velocity Template. Templates are used to generate desired report output views. The templates
are based on Velocity, and can generate any text reports, such as HTML or CSV. However, it is
not currently possible to use Velocity to generate binary reports.
Report Definition XML. Report XML files control how reports are generated. To create your own
report, create a report definition in a report XML file. You can have multiple report XML files, and
each report XML file can define multiple reports.
144
Figure 5.
ReportActionHelper. This class was designed to be called by the Servlet or Struts action class.
It performs a number of tasks, such as parsing the request parameters, and then does the
sorting, paging, and so on. It returns an IReport object, that you can use to render a report, or
manipulate further before rendering it. Though it is possible to avoid using this class by using
other APIs, it is strongly recommended that you use this class to reduce your customization work.
IReportManager. This is the entry class to the Reporting Engine APIs. For example, to get an
instance of IReport and other objects.
ReportContext. This class is a Map, which allows the Reporting Engine client to pass information
to the Reporting Engine. For example, the binding values to SQL ? parameters, and the objects
used in Velocity templates.
IReportConfig. This interface represents the report XML definition. For example, the SQL used
to query, instructions to bind the report context objects to the SQL, instructions to format the
report. There are a set of Config objects related to this class that represent the report XML
elements. For more information about this API, go to the Oracle Billing Insight Javadoc as
described in Accessing Oracle Billing Insight Data Dictionary and Javadoc on page 25.
ITransformer. This object represents the transformer defined in the report XML. It offers a set
of APIs that manipulate the format, such as format value, write the template, and so on.
14 5
DataSource. This API is not a public. It represents the datasource defined in the report XML,
and allows you to retrieve report data from that data source.
IReportList and IReportRow. The report data retrieved from DataSource is represented as
IReportList, which is a java.util.List. IReportList includes a list of IReportRow objects,
which represents rows in a report. The objects in IReportRow are basic Java objects, such as
Integer, Double, String, Date, and so on. For more details, please check Java APIs of Reporting
Engine.
The object model of Reporting Engine is straightforward. Figure 6 shows how the Reporting Engine
objects interact with each other to generate a report.
Figure 6.
For more information on how to write action class and report JSP pages, see Customizing the
Reporting Engine on page 190.
Reporting XML
Templates
146
Reporting API
batchReport.failTries. This parameter specifies the number of times to retry the batch report
job after a transaction timeout exception.
batchReport.processingTimeOut. This parameter specifies the time out period after which a
user can delete a batch report request with PROCESSING status.
For information about integrating Oracle Billing Insight with Oracle WebCenter or other content
management systems, see Integration Guide for Oracle Billing Insight.
Update the appropriate parameters in the globalConfig.properties file, located in the EDX_HOME/
config/rpt directory (or the EDX_HOME\config\rpt directory on Windows):
batchReport.failTries=3
#The unit is hour.
batchReport.processingTimeOut=12
Related Topics
Changing the Local Storage Location for the HTML Report Formatting Files on page 205
Report XML
The report XML describes how to generate a report. The report XML includes the dataSource section
and the transformer section. The dataSource section describes how to retrieve data from data
source, and the transformer manipulates the data before sending it to the template.
14 7
Samples of report XML files are located in the EDX_HOME/config/rpt directory. To get a complete list
of all the valid report XML elements and attributes, see the report.xsd file, under the EDX_HOME/
config/rpt directory. In the path, EDX_HOME is the directory where you installed Oracle Billing
Insight.
The following topics describe some of the main features of the Reporting Engine and explain how to
use report XML to implement them.
Element <reports>
This is the root element of report XML. This element can include <report>, <localizer>, <prompts>
and <templates> elements. The following XML shows that structure:
<reports>
<templates></templates>
<localizer></localizer>
<prompts></prompts>
<report></report>
</reports>
Element <localizer>
This element defines how the localization of the reports will be done. For details, see
Internationalization and Localization of Reporting on page 185 for more information.
The <localizer> element has the attributes described in Table 22.
Table 22.
Name
Required
Description
enableMessageResources
No
defaultCode
No
148
Element <resourceBundle>
This element specifies one resource bundle property file name to be used for report localization. For
more information about localization, see Localizing the User Interface on page 32.
For example:
<resourceBundle name="config/l10n/message" />
This example means the property file, config/l10/message_<locale>.properties, located in the
EDX_HOME directory (the directory where you installed Oracle Billing Insight) is used for localization.
Element <prompts>
The <prompts> element has the same format as the one defined under <dataSource>. However,
because it is defined at the global level, it can be shared and referenced by other reports. This
significantly reduces duplication of the report XML contents, and makes it easier to maintain report
XML files. For more details, see the <prompts> definitions in Element <dataSource> on page 150.
Element <templates>
This element allows you define a list of global templates that can be included and parsed into other
templates. For example, the paging.vm is used to generate paging UI and could be included by other
templates, like report_body.vm.
For example, to define a template:
<templates>
<template id="paging.vm" name="template/common/reporting/paging.vm"/>
</templates>
This example means there is a template named paging.vm, located in the EDX_HOME/template/
common/reporting/ directory.
Then you can include the paging.vm from another template like this:
#parse ($transformerConfig.getTemplateName("paging.vm"))
The method transformerConfig.getTemplateName("paging.vm") returns this template, paging.vm,
from the EDX_HOME/template/common/reporting/paging.vm directory.
NOTE: If you have a template that has the same ID defined inside the transformer element, then
the ID in transformer takes precedence over the what is in the global template list. This allows an
individual transformer to use its own template.
14 9
Element <template>
This element defines a global template, which has following attributes described in Table 23.
Table 23.
Name
Required
Description
ID
Yes
The ID is a unique identifier among all the global templates. Note you
can use the same ID for the transformer template ID. In this case,
the transformer template takes precedent of the global one.
name
Yes
The name attribute is the full class path name of the template.
Element <report>
This element defines a report. A report can include zero or more <dataSource> elements, one or
more <transformer>s, and zero or one of <customList>, <printList> and <downloadList>.
<report id=reportId name=MyReport>
<downloadList></downloadList>
<printList></printList>
<customList></customList>
<dataSource></dataSource>
<transformer></transformer>
</report>
The <report> element has two attributes:
id. The ID identifies this report. All the reports defined in the report XML files in
reportList.properties must have unique IDs. This ID must start with an alphabetic character, and
can include numbers and underscores.
Name. This is the name of the report. This name is used to search the report bundle to get a
localized version of the report name. For example, in the Report List page, the names of reports
are from this attribute.
Element <dataSource>
This element defines how to retrieve data from the data source.
<dataSource id= uri=jdbcJNDI:edx.report.databasePool>
<query dynamic=true>
</query>
<columns><column id= type=/></columns>
<inputBindings><inputBinding /></inputBindings>
</dataSource>
The data retrieved from the data source is represented as a List of Lists of simple Java objects, such
as Strings, Date/Time/Timestamp or Numbers. The data does not use a two-dimensional array
because a List of Lists gives you the potential to increase its size if required, and Velocity does not
support accessing array elements through the [ ] operator.
150
id: A unique ID identifies this data source in this report. You must define it even there is only
one data source. It is not required that the ID be unique across all reports. This ID must start
with an alphabetic character, and can include numbers and underscores.
uri: A Universal Resource Identifier identifies the location of the data source. Oracle Billing
Insight supports three data sources: SQL data source, object data source, and DSV data source.
This example focuses on the SQL data source. For information about object data sources, see
Object Data Source on page 188 and for DSV data source, see DSV Data Source on page 189.
For an SQL data source, there are three URIs:
Element <query>
The <query> element defines the query used to retrieve data from the data source. The <query>
element applies to an SQL data source but not to an object data source.
<query dynamic=false maxRows=1000> <!
[CDATA[select name, amount from summary where user_id=? ]]>
</query>
The value for <query> is enclosed in a CDATA topic, which can include any SQL.
The question mark in the SQL means that a variable must be resolved (bound) before the SQL can
be executed. Variables are resolved through the <inputBindings> element.
15 1
Table 24.
Name
Required
Description
dynamic
No
maxRows
No
Element <inputBindings>
This element defines a list of input bindings that are used to bind the SQL variables defined in the
<query> element. It has no attribute, and includes an <inputBinding> element.
Element <inputBinding>
This element defines a single input binding. There are two kinds of bindings: objects and prompts.
The order of the <inputBinding> elements is the same as the order of the SQL variables. That means
the nth <inputBinding> is used to bind the nth SQL variable. Object binding means binding an object
or its property to an SQL variable.
For example:
<inputBinding object=bean property=userId />
This means there is an object called bean in the report context, this object is a JavaBean, and it has
a property named userId. The value returned by bean.getUserId() will be used to bind the SQL
variable. Usually, the JavaBean is a Struts Action Bean object. If the object returned by the property
is a Collection, then each element in the Collection will be used for binding.
<inputBinding object=myObject />
In this case, there is no property defined, so myObject is not assumed to be a JavaBean. If the
myObject is not a Collection, then myObject is used to bind to the SQL variable directly. If the
myObject is a Collection, then each element in the myObject Collection will be used to bind to the
SQL variables in its natural order in the collection. This latter case is very useful where the number
of SQL variables is dynamic, such as a name in a (??) clause. For more information about using
dynamic SQL, see Dynamic SQL on page 184.
Prompt binding is a special case of object binding. Prompt binding means that the binding object is
from the user prompt, which allows you to bind the value of the prompt to a SQL variable.
<inputBinding object=form property=<bean_property> prompt=<prompt_id> />
152
You can use a map-backed Action Bean also. For example, the ReportForm from the Oracle Billing
Insight application is a map-backed form. It has map-methods, such as getParameter(String name)
and setParameter(String name, Object value). You can use this syntax in a property or prompt
attribute:
Table 25.
Name
Required
Description
object
Yes
The name of the object in the report context used for binding. This
object must be put into report context.
In the case of prompt binding, the Reporting Engine automatically
retrieves the prompt value from the prompt form, and puts this object
into the report context. The ReportActionHelper class puts the value of
the prompt into the context with that name.
In the non-prompt case, the caller of Report engine must put this
object into context.
property
No
prompt
No
This attribute indicates that this input binding is from a prompt, and
the value of it must be the ID of the prompt defined in the <prompts>
element.
NOTE: The object name for the prompt form is fixed to form and you must use object=form for
prompt.
Element <prompts>
This element defines an HTML form whose input is used for data source input bindings. Each input
field in the form is called a prompt. You configure where the prompt gets its original data (from the
Oracle Billing Insight database or from a fixed value list), and how it will be presented by the report
XML. The Reporting Engine builds the report prompt (input) UI, which is fully customizable (it uses
a template to generate the UI).
15 3
To control the look and feel of prompts, reporting uses a technique similar to tiles. Layout format is
controlled by layout.vm, and prompt rendering is controlled by prompt.vm.
The <prompts> element has a list of prompt blocks. Each block is separated by that dark blue bar
at the top, and you can define a label for each blue bar. Inside each block, you can define a list of
groups, where each group has a list of prompts. Each prompt group acts like <tr> in an HTML table,
and all prompts within a prompt group display horizontally in a row. Each prompt must belong to a
group. Prompts can be HTML input or a plain label. In the preceding example UI, Data range is a
group with two prompts: the start date and end date. Usage type is another group that has two
prompts: usage type and call type.
The <prompts> definition used to generate the example UI is:
<prompts id="prompts1" formName="reportForm" action="report.action" method="post"
templateID="layout.vm"><block><group label="Date Range:" ><text id="fromDate"
size="12" value="1/1/2004" imgSrc="_assets/images/calendar.gif" label="From:"
labelPosition="top"/>
<text id="toDate" size="12" value="12/1/2004"
imgSrc="_assets/images/calendar.gif" label=" To:" labelPosition="top"/>
</group><group>
<select id="parameter(usageType)" report="prompt_usageType"
displayColumnId="usage_type_name" valueColumnId="usage_type_key"
value="2" label="Usage Type:"/>
<select id="parameter(callType)" report="prompt_callType"
displayColumnId="call_type_name" valueColumnId="call_type_key" value="2"
label="Call Type:"/><image name="display" src="_assets/images/display.gif" />
</group><group label=" Billing Reports"><select report="prompt_reportList"
value="first" name="reportId" onChange="cleanupHiddenValues()"/> </group></block>
</prompts>
You can define <prompts> under <reports> and it will be global. To refer to a global <prompts>
from inside <dataSource>, use the following:
<prompts id="billingPrompts"/>
This expression means that there is a global <prompts> whose ID is billingPrompts. If the same
<prompts> is used across multiple data sources, then global <prompts> helps you to maintain only
one copy of it.
The <prompts> element has the attributes described in Table 26.
Table 26.
Name
Required?
Description
id
Yes
label
No
formName
No
154
Table 26.
Name
Required?
Description
action
Yes
The action of the HTML form. Use report.action for the action
because it is used as the default. If you change the action
name defined in Struts config XML, then you must search all
your JSP pages and Velocity templates to replace it.
method
No
templateID
Yes
enctype
No
onReset
No
onSubmit
No
Element <block>
This is an optional element. If you do not define it, then you can define group directly under
<prompts>, and all the groups will be put, implicitly, under a block. You can define a label for a block
and the label will be displayed in the blue bar of the prompt.
Element <group>
This element defines a group of prompts. This group of prompts will be displayed horizontally in one
line. Different groups of prompts will be displayed vertically.
The <group> element has the attributes described in Table 27.
Table 27.
Name
Required?
Description
label
No
description
No
There are eight types of prompts, which correspond to input types in an HTML form (except Label).
Some supported HTML forms are: text, check box, select, radio, image, submit, reset and label.
Image, submit, reset, label are purely for HTML form rendering and manipulation. Their values are
not used for report SQL input bindings. Check box, select, radio and text can be used for SQL input
bindings.
15 5
Attributes for prompt related configuration in XML file, most of attributes are from an HTML form,
others are required by the Report Engine.
The <group> element can include one of the following attributes: <checkBox>, <select>, <radio>,
<text>, <image>, <label>, <submit> and <reset>.
Element <select>
This element defines a select prompt. A select prompt allows you to select one or more values from
a list of values. A select prompt must associate with a report whose result set is used to populate
the select list. For example:
<select id="parameter(callType)"
report="prompt_callType"
displayColumnId="call_type_name"
valueColumnId="call_type_key"
value="2"
label="Call Type:"/>
A select list requires two types of information: display values and actual values. The display values
are for displaying, and the actual values are for querying. For example, you can display May 2010,
but use an internal value 5 for a query. For example:
<select><option value=5>May 2010</option></select>
156
To render the preceding UI, get the options values and display names from the associated reports.
Table 28 describes the select options.
Table 28.
Name
Required?
Description
id
Yes
label
No
labelPosition
No
Display the label position against the prompt. Top, bottom, left,
and right are supported:
size
No
report
Yes
The ID of the report, whose result set will be used to populate the
Select element. The report can load data from the Oracle Billing
Insight database or it can load from a DSV data source which is
useful if the data in the list is fixed.
15 7
Table 28.
Name
Required?
Description
displayColumn
Id
No
valueColumnI
d
No
value
No
No
onBlur
No
onChange
No
onClick
No
onFocus
No
The report used to generate <prompt> must meet the following requirements:
Have two columns: one column for display, and another for prompt value. The display column ID
must match the displayColumnId attribute defined, and the value column ID must match the
valueColumnId attributed defined. If the report only has only one column, then you can have
both displayColumnId and valueColumnId point to the same column.
The report ID of the prompt report must match the report attribute defined.
You can format the prompt display names by using pattern attribute of column element of the
report.
Element <checkBox>
The checkBox prompt allows you to print the prompt values in a list of check boxes. For example:
<checkBox id="billPeriod" label="Bill Period:"
report="prompt_billPeriod" onClick="alter(onClick)"
displayColumnId="bill_period_name"
valueColumnId="bill_period_key"
value="last"/>
158
In the example, the bill period prompt is defined as a set of check boxes, where you can check one
or more bill periods. The display names and values of bill period come from the prompt_billPeriod
report. The <checkBox> element has the same attributes as <select>, except multiple does not
apply. For information about using the <select> element, see Element <select> on page 156. You
can think of the checkBox element as just another view presenting the same prompt, similar to a
multiple-select list. The data retrieved from data source for the <checkbox> element must be either
true or false.
Element <radio>
This prompt presents a list of radio buttons, only one of which can be selected.
<radio id="billPeriod" label="Bill period:"
report="prompt_billPeriod"
onClick="alert(onclick)"
value="last" />
In the example, the bill period prompt is defined as a set of radio buttons, where you can only check
one of the bill periods. The display names and values for bill period come from the prompt_billPeriod
report.
The <radio> has the same attributes as <select>, except multiple does not apply. See <select> for
more information. In fact, you can just think radio as another view of presenting the same prompt.
<radio> is like a single-select list.
The data retrieved from the data source used for <radio> must be either true or false, and only one
can be true.
Element <text>
This element allows you to define a text box and use the user-entered value as the prompt value.
<prompt id="billPeriod" label="Bill period:">
<text report="prompt_billPeriod"
maxLength="10"
onBlur="alert(onBlur)"
onChange=" alert(onChange)"
onFocus=" alert(onFocus)"
onSelect=" alert(onSelect)"
size="10"
value="06/2004"/>
</prompt>
In the text prompt, size attribute determines the width of the prompt.
Element <image>
This element allows you to define an image. For example this usage creates an image submit button:
<image name="display" src="_assets/images/display.gif" />
NOTE: The <image> element is different from the <img> HTML tag.
15 9
Name
Required?
Description
name
Yes
scr
Yes
align
No
Left or right.
Element <label>
This element defines text to display in the form. For example:
<label name="ccc_toll_lbl" value="
and
" />
Name
Required?
Description
name
No
Not used.
Value
Yes
Element <reset>
This element displays an HTML reset button. For example:
<reset name=reset value=reset />
Table 31 describes the attributes for the <reset> element.
Table 31.
Name
Required?
Description
name
Yes
value
Yes
onClick
No
JavaScript to invoke.
Element <submit>
This element displays an HTML submit button. For example:
<submit name=submit value=ok />
160
Name
Required?
Description
name
Yes
value
Yes
onClick
No
Element <columns>
This element, under <dataSource>, defines the list of columns retrieved from the data source. As
described previously, the data retrieved from the data source is a two-dimensional matrix with rows
and columns. For an SQL query, the rows are the rows from the SQL table, and the columns are the
SQL table columns. Most of the transformer operations, such as sorting, grouping and calculation,
are based on the types of the columns. Only the type of the column is important, not the definition
of the column. For example, you can summarize if the type is Number. It does not matter if the
definition is Air Fee or Toll Charge. That is the primary reason to use a List of Lists of objects to
present all the data.
You must define all the columns retrieved from the data source in this element, in the same order
as the data source. For example, if you are using a SQL data source, the order of selected columns
from Select must be the same as the order defined in the XML element. The same is true for object
data sources.
Element <column>
This element describes the column retrieved from the data source. You must define the type of the
column in this element. The order of <column> elements must be the same as the order of columns
retrieved from the data source and for each column in the data source, you must have one of this
XML element defined for it.
The element <column> includes the attributes described in Table 33.
Table 33.
Name
Required?
Description
ID
Yes
type
Yes
Type of column. The legal types are all simple Java object types. A
column can be sorted if its type is java.lang.Comparable. or it can take
a calculator operation (aggregation), if its type is java.lang.Number.
default
No
This attribute indicates the default value for this column if the value
returned from data source is null.
16 1
Java.lang.Object. A generic type. Avoid using this if you want to sort or format on the column.
Use a more specific type instead.
Java.sql.Timestamp. A Timestamp value, which includes both date and time information. It can
be sorted.
Number. The default value is parsed as a Number string using the parseXXX method on the
corresponding Java class. For example, use Double.parseDouble() if it is a double. It can only
include digits and decimal point.
Timestamp. You must supply the default value formatted as yyyy-mm-dd hh:mm:ss.
Element <transformer>
This element defines a transformer for this report. A report can include zero or more transformers.
Transformer is key element of the report engine. It is responsible for transforming the data retrieved
from data source into a format suitable for presentation.
162
Name
Required?
Description
Id
Yes
datasourceId
No
pageSize
No
viewType
No
This attribute sets the view type. The value can be portrait,
landscape, or tree. The default value is portrait.
displayReport
No
displayPrompts
No
showTitle
No
showItems
No
showHeader
No
hiddenResultCount
No
divClass
No
16 3
Table 34.
Name
Required?
Description
tableClass
No
Background
No
chartPosition
No
collectionId
No
Element <columns>
This element defines a list of columns for the transformer. You are not required to define a column
in the transformer for each column in the data source. It is not necessary that the order of columns
in the transformer match the order of the columns in the data source. However, following those two
rules will make your code easier to maintain.
This XML element has no attribute and contains <column> elements.
Element <column>
This XML element defines a column for the transformer. The transformer will render the columns in
a table format. This is one of the most important XML element.
<column
id="myColumnId"
name="Column Name"
Hidden="false"
sortable="true"
defaultSort=true
caseInsensitiveSort=true
pattern="MM/dd/yyyy"
link="report.action?reportId=myReport&parameter(myColumnId)=$col"
localize=true/>
Table 35 lists all the attributes for the <column> XML element.
Table 35.
Name
Required?
Description
id
Yes
This ID must match one of the IDs defined in the data source.
name
Yes
hidden
No
164
Table 35.
Name
Required?
Description
sortable
No
defaultSort
No
caseInsensitiveSort
No
onlineOnly
No
downloadOnly
No
Element <link>
This element allows you to define a drilldown link, which can also be defined as an attribute of the
<column> element. The benefit of using it as an attribute is that you can wrap the content in CDATA
without escaping the special characters.
Element <templates>
This element includes a list of template elements. It has no attributes, and includes only one
element, template.
Element <template>
This element defines one template used by the transformer. A transformer can define one or more
templates and each template represents a presentation view. For example, you can define one
template for HTML, one for XML and another for CSV. You specify which view or template to use to
render the UI by passing the template ID through Ireport.writeTemplate().
<templates>
<template
id="HTML_TEMPLATE"
name="template/common/reporting/report_body.vm"/>
</templates>
16 5
Attribute
Required
Description
id
Yes
name
Yes
The class path of the template name. Because the class loader loads
the template by default, this template must exist on the classpath
(such as on the WEB-INF/classes directory or packaged into a JAR
file). For example, if your template is located under the template/
templ/my.vm directory and that is on the class path, then you must
use the template/temp/my.vm directory as the name.
localize
No
For information about creating PDF templates, see Creating a PDF Template for Reporting on
page 176.
Element <groups>
This element allows you to group the data retrieved from a data source into groups, where each
group is presented inside a table. For example, you might want to group on all types, so that all the
local calls are presented in one table, and international calls are presented in another table. Only
single column grouping is supported.
You can define multiple groups. You can define one of them as default grouping, so when the data is
retrieved from the data source, it will be grouped by that default grouping. Call Itransformer.group()
in your calling program to switch to another group.
This element has no attributes, and can include the <group> element.
Element <group>
This XML element defines a single group. The <column> element defines the columns you want to
group on. You can only define one column. For example:
<group id="group_by_type" default="true"><column id="type"/></group>
166
Name
Required
Description
id
Yes
default
Optional
This flag indicates that this group is the default one, so when data
is retrieved from data source, the data will be grouped (only one
group can be default). The data will not be grouped if there is no
default group defined. The default is False.
Element <column>
This <column> element is defined as part of the <group> element, and identifies the column where
grouping will happen. It has the attributes described in Table 38.
Table 38.
Name
Required
Description
id
Yes
This is the column ID defined in data source. This ID must match the
ID of the column of the data source where you want the grouping to
happen.
Element <calculator>
This element defines a calculator for the report. The calculator can perform a set of operations, for
example: summarize (subtotal), average, Boolean and minimal. The operations are grouped together
into an operation group. calculator contains one or more <operationGroup> elements. For
example:
<calculator>
<operationGroup name="Total">
<operation type="sum" columnId="Charges" />
<operation type="sum" columnId="taxes" />
</operationGroup>
<operationGroup name="Average">
<operation type="ave" columnId="Charges" />
<operation type="ave" columnId="taxes" />
</operationGroup>
</calculator>
16 7
For example, the Reporting Engine generates a table similar to the example in Table 39.
Table 39.
Invoice Number
Charges
Taxes
12345
10.01
0.23
23456
12.11
1.03
Total
22.12
1.26
Average
11.06
0.63
Element <operationGroup>
This element defines a group of operations. Different operations in the group must operate on
different columns, but it is not required that groups have the same operation types. That is, you can
mix sum with avg in the same operation group.
In general, do not define an operation on the first visible column of the table. That column will be
used to display the name of the operationGroup. However, if it is necessary to define an operation
on the first visible column, then you can change the report_body.vm by replacing the operationGroup
name with the operation value you define.
The <operationGroup> element has one attribute, name, which is described in Table 40.
Table 40.
Name
Required
Description
name
Yes
168
Element <operation>
The <operation> element defines a single calculator operation on a single column. It has the
attributes described in Table 41.
Table 41.
Name
Required
Comments
type
Yes
avg. Finds the average of all the values of the column identified
by columnId attribute.
max. Finds the Boolean value of all the values of the column
identified by the columnId attribute.
min. Finds the minimal value of all the values of the column
identified by the columnId attribute.
Yes
Element <charts>
This element allows you to define one or more charts for a single transformer. For example:
<charts><chart id="c1"
type="BAR_VERT_CLUST"
style="config/chart/vertical_bar_chart.properties"
chartTitle="global.title.accountBillingOverview"
xAxisTitle="global.label.accounts"
yAxisTitle="global.label.dollars">
<datasets>
<dataset><column id="Total"/></dataset>
</datasets>
<xlabel><column id="Billing_Account"/></xlabel>
</chart><chart id="c2"
type="PIE"
style="config/chart/pie_chart.properties"
chartTitle="global.title.plan">
<datasets>
<dataset><column id="total"/></dataset>
</datasets>
<xlabel><column id="rate_plan"/></xlabel>
<compress threshold="2" label="global.label.other" append="true"/>
</chart></charts>
16 9
Element <chart>
This element defines a single chart for this transformer. Oracle Billing Insight supports two chart
types: Bar chart and Pie chart. The data of the chart must come from the columns of the data source.
The <chart> element includes the attributes described in Table 42.
Table 42.
Name
Required
Description
id
Yes
Uniquely identifies this chart among all the charts defined in this
transformer. Note, you can use the same chart IDs in different
transformers.
type
Yes
The type of the chart. Oracle Billing Insight supports the following
types of chart:
style
Yes
Path to the name of the DVT chart properties file. For information on
configuring the properties file for DVT charting, see Customizing
Charts on page 195.
chartTitle
No
xAxisTitle
No
yAxisTitle
No
The <chart> elements also include following two elements: <datasets> and <xlabel>.
Element <datasets>
This element allows you to define multiple data sets used to draw the chart. Only one dataset for
each chart is supported.
Element <dataset>
This element defines a data set used for charting. A data set must come from the column of the data
source. Currently, you can only define one column for on dataset. It has no attributes and contains
one element: <column>.
170
Element <column>
This element defines the column whose values will be used as the data set for DVT charting. For
example, for the BAR_VERT_CLUST chart, the dataset is used for the Y-axis values. For PIE, the
dataset is used for the pie chart data.
The <column> element of Report XML includes one attribute, which is described in Table 43.
Table 43.
Name
Required
Description
id
Yes
The ID of the column where the chart will get its data. The type of the
column must be a number.
Element <xlabel>
This element defines the values for the x-axis. The x-label must come from the data source column.
It has no attributes, and contains one element: <column>. You can only define one column for each
x-label.
Element <column>
This element defines the column used for the x-label. The values of the column are used for the xaxis values. This element only includes one attribute, which is described in Table 44.
Table 44.
Name
Required
Description
id
Yes
The ID of the column where the chart will get its x-axis values.
Element <downloadList>
This element defines a list of downloads available for this report. For example, you can define XML,
CVS, and PDF downloads. For each download, the template generates a download link. You can define
multiple downloads for one report. For example:
<downloadList name="Download"><download
name="Download CSV"
type="csv"
description="CSV download"
templateId="CSV_TEMPLATE" />
</downloadList>
The <downloadList> element has one attribute, which is described in Table 45.
Table 45.
Name
Required
Description
name
No
17 1
Element <download>
The <download> element defines one download for the report. It has the attributes described in
Table 46.
Table 46.
Name
Required
Description
type
Yes
The type of the download. You can name any type you want. The type
is used as the download file extension. For example, use csv for CSV
download and use xml for XML download.
name
No
description
No
templateId
Yes
Element <printList>
This element defines a list of print friendly links available for this report. Though it is possible, it is
unlikely you will define more than one print friendly. For each print friendly, a print friendly link will
be generated through the template.
For example:
<printList name="Print friendly"><print
name="Print friendly"
description="print friendly account details"
templateId="PRINT_TEMPLATE" />
</printList>
The <printlist> element has one attribute, which is described in Table 47.
Table 47.
Name
Required
Description
name
No
172
Element <print>
The <print> element defines one print-friendly viewfor the report. It has the attributes described in
Table 48.
Table 48.
Name
Required
Description
name
No
description
No
templateId
Yes
Element <customList>
This element defines a list of custom reports available for this report. Though possible, it is unlikely
that you must define more than one custom report. For each custom report, a custom report link will
be generated through the template.
For example:
<customList name="Customize"><custom
name="Customize"
description="Create a custom report for contract call details"
reportId="telco_cust_std_r4" />
</customList>
The <customList> element has one attribute, which is described in Table 49.
Table 49.
Name
Required
Description
name
17 3
Element <custom>
The <custom> element defines one custom report for the current report. Each custom report must
be itself defined as a report. This tag is used to build a link to that custom report. It has the attributes
described in Table 50.
Table 50.
Name
Required
Description
name
No
description
No
reportId
Yes
The report ID of the report used to define the custom report: the
custom report itself is a report and you must define it as a report.
Name
Description
Lib/report_library.vm
This file defines some common MACROs used by the Reporting Engine.
You must use it as it is.
174
Table 52 explains the templates that are included with the report package.
Table 52.
Name
Description
Common/report_header.vm
This is the header part of the report. Note, this is not the
header of the tiles. The tile header is usually the Navigation
Tabs. The report header usually includes the report name and
the download, print friendly, and custom report links.
Common/report_body.vm
Common/paging.vm
Common/layout.vm
Common/promt.vm
Common/promt.vm
Common/csv.vm
Common/print.vm
Common/custom_report.vm
common/batch_report.vm
common/xml.vm
common/rsxml.vm
This template renders the XML format for the REST Web
service call for a report.
pdf/PrintSummary.rtf
This template renders PDF format for the Print Summary quick
link on pages displayed to consumer users.
pdf/StatementSummary.rtf
pdf/telco_std_r1.rtf
17 5
Table 52.
Name
Description
pdf/telco_std_r6.rtf
pdf/telco_std_r13.rtf
Download the existing or new report in XML format and use this file to create a new PDF template
(an RTF) file. See the Template Builder for Word Tutorial in Oracle BI Publisher for assistance
creating the RTF template. Training is also available on the Oracle Technology Network.
Using the toolbar in Oracle BI Publisher, load the report XML file.
Use Microsoft Word formatting and Oracle BI Publisher insert functions to add fields, tables,
charts, and conditional formatting to the template appropriate for your organization. Save the
file as an RTF.
After you create the template file filename.rtf, copy the file to EDX_HOME/template/pdf/
filename_ll_CC.rtf from the EDX_SYS_LANG table in the OLTP schema . In the template file,
filename is the name of the report template. In the directory where you copy the template file,
ll_CC is your default system language code.
If the application supports multiple languages, then you can translate your template and name
it using the different language code. For example, if you support Spanish (es_ES) as well as
American English (en_US), then create a template called filename_en_US.rtf and create a
translated template called filename_es_ES.rtf.
In EDX_HOME/config/rpt/*.xml, add the following line in <downloadlist> tag for the new report:
<download name="global.dropdown.pdf" type="pdf" description="PDF download"
templateId="PDF_TEMPLATE"/>
Add the following line in the <templates> tag for the report. In the line, ll_CC is the default
language.
<template id="PDF_TEMPLATE" downloadable="true" name="template/pdf/
filename_ll_CC.rtf"/>
NOTE: You do not have to specify additional languages in the XML. Oracle Billing Insight finds
the template that corresponds with the selected language.
176
Name
Type
Over
write?
form
Action Form
No
gifDir
String
Yes
link
String
No
Description
HttpServletRequest.getContextPath() +
HttpServletRequest.getServletPath()
The URL is similar to
http://host:port/<web-root>/report.action
user
IUser of UMF
Yes
17 7
Table 53.
Name
Type
Description
contact Profile
IContactProfil
e of UMF
Yes
locale
String
Yes
reportId
String
No
transformer
ITransformer
No
reportConfig
IReportConfig
No
dataSourceConfig
IDataSourceC
onfig
No
dataSource
ColumnConfigs
A list of
IDataSource
ColumnConfig
No
transformerConfigs
ITransformerC
onfig
No
transformer
ColumnConfigs
A list of
ITransformer
ColumnConfig
No
operationGroup
Configs
A list of
IOperation
GourpConfig
No
chartConfigs
A list of
IChartConfig
No
templateConfigs
A list of
ITemplateConf
ig
No
178
Table 53.
Name
Type
Over
write?
rowlist
IReportList
No
groupSet
Set
No
dataMap
Map
No
reportContext
ReportContext
No
Description
URLEncoder
No
17 9
Tiles Definition
Tiles are defined in the tiles-defs-ModuleName.xml file, such as tiles-defs-reporting.xml, in the WAR
file of the EAR file.
<definition name="page.reports.report" extends="simpleLayout_1">
<put-attribute name="pageName" value="Billing Report"/>
<put-attribute name="leftBar" value="/_includes/sidebar_left_analytics.jsp"/>
<put-attribute name="pageDesc" value=""/>
<put-attribute name="header" value="/_includes/header_analytics.jsp"/>
<put-attribute name="footer" value="/_includes/footer_relative.jsp"/>
<put-attribute name="subtab" value="/_includes/subtab_billing.jsp"/>
<put-attribute name="body" value="/reporting/report.jsp"/>
</definition>
The key to this tile is that the body tile is report.jsp, which generates the main body of reporting UI.
Report.jsp
The report.jsp page is used to render the view. In fact, there is almost no HTML code in this page.
Instead, this page just invokes the Velocity template engine to parse the templates:
IReport report = (IReport)request.getSession().getAttribute(reportId);
IReport.writeTemplate(jspWriter, templateId);
//template is the one defined in report xml and default to HTML_TEMPLATE
The Reporting Engine goes through the Transformers defined in the report XML for this reportId and
for each transformer, parsing the template whose ID matches templateId. Note a transformer will be
ignored if it has no template with a matching templateId defined in the transformer configuration of
the report XML.
180
The matching templates will be parsed in the same order as defined in the report XML, and the results
will be written back into JSPWriter sequentially.
Reporting API
The reporting API offers an interface to interact with the Reporting Engine. These APIs manage
common reporting features, such as sorting, grouping and paging. They also offer report clients the
flexibility to customize reporting.
The reporting API is not tied to a particular presentation framework. You can use struts and tiles or
servlets and JSP to access it. However, you could find that using struts and tiles is the easiest way
to implement your own reporting UI, because that is the default presentation framework used for the
reporting UI of Oracle Billing Insight.
The core reporting APIs are: ReportContext, IReportManager, IReport, ITransformer, IReportConfig
and ReportActionHelper. For more information about reporting APIs, go to the Oracle Billing Insight
Javadoc as described in Accessing Oracle Billing Insight Data Dictionary and Javadoc on page 25.
ReportContext is the carrier of information between the reporting caller and the Reporting Engine.
ReportManager is a factory that gets an instance of IReportManager. IReportManager is the factory
for IReport objects. IReport represents a report defined in XML. ITransformer represents the
transformer defined inside a report in XML. IReportConfig represents the configuration information
in XML.
The following example shows how to generate a report:
ReportContext context = new ReportContext();
context.put(form, StrutsActionBean);
IReportManager rptmgr = ReportManager.getInstance();
IReport rpt = rptmgr.getReport(reportId, context);
Rpt.writeTemplate(templateId, Writer);
In the example, a Struts Action Bean is put into the reportContext, which means this object is
available to the Velocity template. You can use the syntax of $form.name in the Velocity template.
Assume there is a name property in the form.
After you get an instance of IReportManager, call its getReport method to get a report. The report
must match the one defined in the report XML. It will return an object that represents the report
defined in the XML with the same reportId.
After you get an instance of IReport, it calls the writeTemplate() method to parse the Velocity
template identified by templateId in the report XML, and writes the content into a Writer output. This
method loops through all the transformers in the report and calls transformer.writeTemplate(). If the
same template IDs appear in different transformers, then multiple templates can be parsed and the
content of the parsed templates will be appended together in the order in which they appear in the
report configuration XML.
18 1
You can also call the individual APIs of ITransformer to do sorting, grouping, or paging. However, it
is tedious to call these APIs: they are usually used for back-end based applications. For the common
UI features, such as sorting, grouping, and paging, the reporting API offers a Web helper class,
ReportActionHelper, to shield you from the low-level APIs. This class is a facade to the Report Engine
APIs. In most cases, your struts action must call this helper class instead of calling the lower-level
reporting APIs. However, you can always access the report APIs directly if you want to. The action
used by the product, Com.edocs.app.reporting.actions.ReportAction, calls this helper class. You can
similarly do this in your action class.
182
Parameter
Description
$link
SortColumn=$x
Reported=$reported
TransformerId=$tranformerConfig.id
CurrentSortColumn=$currentSortColumn
Ascending=$ascending
CurrentGroup=$groupIndex
The Web component must process the URL request, and calls the ITransfomer.sort() method to sort
the column. The Helper class, ReportActionHelper does this work for you.
Just call the ReportActionHelper in your struts action. It processes this request and calls
Itransfomer.sort() to sort the column, then reorders the newly sorted report for you.
Because reports are loaded and cached in the user session, paging is done on cached data. This
method of paging does not scale when there are a large number of rows of data. For that case, you
must limit the number of rows retrieved using the maxRows attribute of the <query> element.
18 3
Dynamic SQL
Some situations require you to generate SQL dynamically. For example, you might have a report that
searches the call details. One of the criteria is the call date. You want to search for call date equals
a particular date, or you want to search for call dates between a start date and end date. Because
the where clause is different for these two search cases, without dynamically generated SQL, you
would be forced to write two reports with two SQL clauses. Dynamically generated SQL can solve this
problem. The where clause of the SQL statement can be generated based on the current operation
(equal or between), so only one report is required.
The Reporting Engine allows you to write an SQL query in a Velocity template, so that the SQL query
will be parsed before it is executed. You must set the dynamic attribute of <query> to true. For
example:
<query dynamic=true> <![CDATA[
select * from my_table where #if ($equal) date = ? #else date >= ? and date <= ?
#end]]></query>
The variable $equal is set by the caller through the IreportActionCallback interface. It is true if the
user selects the date equal operation, and false if the user chooses the date between operations.
NOTE: The number of question marks is different based on operation types: one for equal and two
for between. To solve this problem, the report engine supports binding a Collection object to question
marks. The report engine loops through the Collection and binds each element to question marks.
The following example shows how to bind:
<inputBinding object=form property=parameter(dateList) />
The method form.getParameter(dateList) returns a list of Date objects, and each date in the list is
bound to the question marks in the query. The caller of Reporting Engine is responsible for collecting
the list of dates and passing them to ActionForm.setParameter(dateList, dateList). (This assumes
that Action Bean is as map-backed form, and has a pair of setParmeter and getParameter methods).
Another common use case is to generate the in operation in a where clause. The number of question
marks is based on the size of a Collection object.
For example, if you have a list of categories saved in a List, and want to generate a where clause,
then use
Where category in (?,?,..,?,?)
In this clause, the number of question marks is the size of the List.
When doing the input binding, there is only one List, but loops through the List to set the question
marks in the SQL as appropriate. This ensures that the number of question marks match the number
of variables passed in.
There is a macro to help you generate the number of question marks based on the collection size:
#macro getSQLVariablesIgnoreNull($list $columnName)
The macro generates the list.size() number of question marks. For example:
select * from my_table where date in getSQLVariablesIgnoreNull($dateList date)
184
If the dateList size is 2, and it is Oracle database, then the result is:
select * from my_table where date in (NVL(?,date), NVL(?,date))
In this clause, NVL means ignore this question mark if the value is null.
Allows a user to specify any resource bundle, just like Struts config does.
Provides a seamless integration with Struts if it is used. For example, sharing the same resource
bundle.
Offers a better way to handle default messages than Struts. In Struts, a resource that is not
found is either returned as null or as:
Text<locale><resource_key>Text
With the Reporting Engine, you can configure it to return the key itself when the value of the key
is not found.
You must use / instead of . in the name of the resource bundle, which differs from Struts
message resource.
18 5
The <localizer> tag defines how text will be localized. You can define multiple <resourceBundle>
tags. Each resourceBundle tag defines a resource bundle file, and its name is defined by name
attribute.
When the Reporting Engine searches for the resource bundle, it first checks whether this bundle
exists as a file under EDX_HOME (the directory where you installed Oracle Billing Insight), or the
current directory if EDX_HOME is not defined. If the file does not exist, then the Reporting Engine
searches for the bundle as a class.
The attribute enableMessageResources enables you to use Struts MessageResource to search for a
resource.
The attribute defaultCode enables you to define the default behavior if a resource is not found. 0
means to use the key as the default value. A value of 1 means to use Struts notion of
Text<locale>.<key>Text and -1 means throw an exception. The default value for the attribute
defaultCode is 0.
The search order for finding a resource is:
If the attribute enableMessageResources is true, and the Struts MessageResource does exist (it
might not exist for a non-Struts application), then search the resource from Struts
MessageResource, and return the resource if it is found.
For each resource bundle defined in resourceBundle, load the bundle as either file or class, and
then search the resource in the order it appears, return if found.
If you check the resource bundle name in the struts configuration file, then you will notice that
the same file, com/edocs/app/reporting/resources/ApplicationResources, is defined in both
the Struts and report XML files. The only difference in the definitions is the file separators.
Reporting uses a back slash (/) and Struts uses a period (.). The same file is in two locations in
order to support batch reporting. A batch job is not a Web application, so it does not have access
to Struts MessageResource. This is also true if you are using the Reporting Engine at the EAR
level. For example, you can generate an email message from an MDB event handler or from an
EJB. However, if you are using Struts, and you using the Reporting Engine for online applications
only (not batch reporting), then do not define a resourceBundle, because the online Web
application can always find resources from MessageResource.
Because the same resource is defined twice, both Struts and the Reporting Engine load the same
resource bundle and cache them (twice). Usually, this is not a problem, because a resource
bundle file is small. However, if you do want to reduce memory usage, then you can put all the
template related resources into one file. Or, you can be more selective by putting only the batch
report, email, and AR-related resources into one file, and load it by using the resourceBundle tag
in report XML.
It is recommended that you define the resource bundle as a flat file under the EDX_HOME directory,
which lets you modify the file and reload it using this URL, without restarting the server:
http://localhost:7001/selfservice/reporting/reloadReportConfig.jsp
186
If you want to use a struts message source, which is loaded from the classpath, then you can
disable it during the development stage by setting enableMessageResource to false and loading
a resource bundle from file system.
Set the defaultCode to 1 to find all the text not being internationalized properly. You might want
to set it to 0 for demonstration purposes.
Localization of Charts
The chart components (chart title, labels and data) are localized by the ITransformer.writeChart()
method. The chart tile is searched as a regular resource bundle name. Label and data are localized
if the localize attribute is set to true for the corresponding columns.
Locale
To support internationalization, you must pass the Locale object to ReportContext by calling
setLocale(). If ReportContext does not have a locale defined, then when you call the
IReportActionHelper.execute() method, it puts the Struts locale object in session.
18 7
Dynamic Localization
Velocity is used to support localization. Velocity acts similar to the way java.text.MessageFormat
does, and achieves the same result. The Reporting Engine parses the resource value as a Velocity
template, whose resource key ends with .vm, and returns the parsed value. For example,
rpt.test.vm=My name is $name.
Object name must come from the report context. This feature can make any text in your report
dynamic. For example, on the account detail page, to display the report tile as Account detail for
<account_number> instead of the default text, define the report title as a .vm resource bundle. In
the following example, accountNumber is from the Struts ActionForm:
rpt.accountDetail.title=Account detail for $form.accountNumber
188
18 9
190
A set of templates are provided with the report product. To customize them, make a copy of each
template, put it into a new template directory, and change your report XML to point to the new
directory.
You can add new objects into the report context (and thereby, the Velocity context) using the
IReportActionCallback interface. But do not to overwrite the existing context variables. One
technique is to use a special prefix (a underscore character, for example) for your custom context
variables.
The CSS for the reporting HTML is defined in a file called skin.css. You can modify this file to change
the CSS of the report UI.
Packaging
You can package your Struts action classes as usual at the WAR level. For struts beans, if you are
not using batch reporting, then you can package them at the WAR level, but if you do use batch
reporting, then the beans must be accessible by non-Web components such as the Common Center
batch report job. In that case, you must package your report forms at the EAR level. For example,
make them part of the reporting-ext.1.2.1.jar file.
19 1
You must register your report XML files in the reportList.properties file, and put the report XML files
in the EDX_HOME/config/rpt directory. In the directory, EDX_HOME is the directory where you installed
Oracle Billing Insight.
However, it is possible to put the report XML files under the other subdirectories of EDX_HOME.
Unlimited Paging
By default, the Reporting Engine retrieves 1000 rows from the data source. You can configure the
number of rows the Reporting Engine retrieves (maxRows or fetchSize) in the report XML file.
The following sample code shoes how to configure the size in the sample report.xml file:
<transformer id=tr1 ><paging fetchSize=2000/></transformer>
To retrieve all the rows from the data source without impeding performance, you can use unlimited
paging. Unlimited paging enables the Reporting Engine to get the result set in batches and allows
users to page across multiple batches. A fetch is one batch.
Unlimited paging retrieves result set rows in multiple fetches on demand when the user requests
them. The user pages through the result set like regular paging. If the requested page is not in the
current fetch, then the Reporting Engine gets the next fetch from the data source. However, all the
intricacies of checking whether the requested page is in the current fetch, if not getting next the
fetch, are hidden from the user.
Fetch size is the number of result set rows in one fetch. You can configure fetch size and page size
in report XML. The following sample XML demonstrates how you can enable unlimited paging and to
define the fetch size.
<transformer id=tr1 pageSize=20
></transformer>
The Reporting Engine supports unlimited paging for SQL data source and object data source. If
unlimited paging is enabled, then sorting and calculator are not supported because it is necessary to
sort and apply calculator operations for all the result set across all the fetches rather than current
fetch.
192
Using the Reporting Engine Customizing Threshold Values for Batch Reporting
CSV. The report threshold value is the maximum number of output lines
19 3
Using the Reporting Engine Customizing Threshold Values for Batch Reporting
For example, if the CSV report threshold is set to 3,000 result set lines, then a PDF threshold value
set at 10% must process in batch mode when it has 300 or more result set lines
Table 55 shows the report XML file name and the report ID, found in the XML file, that you use to set
batch report thresholds.
Table 55.
Report Name in UI
Report ID in XML
telco_billing_account.xml
telco_std_r1
telco_billing_account.xml
telco_std_r9
telco_billing_account.xml
telco_std_r5
telco_billing_contract.xml
telco_std_r3
telco_billing_contract.xml
telco_std_r11
Service Details
telco_billing_contract.xml
telco_std_r13
telco_billing_contract.xml
telco_std_r6
Find Calls
telco_billing_contract.xml
telco_find_call
telco_topX.xml
telco_topX_r13
telco_topX.xml
telco_HighestSpending
ServicesBySA_topX
telco_topX.xml
telco_topX_r7
Longest Calls
telco_topX.xml
telco_topX_r12
telco_topX.xml
telco_topX_r10
telco_topX.xml
telco_FreqNumberBySA_topX
telco_topX.xml
telco_FreqNumberBySADetail
_topX
telco_topX.xml
telco_topX_r15
telco_topX.xml
telco_FreqDestBySA_topX
telco_topX.xml
telco_FreqDestBySADetail
_topX
telco_topX.xml
telco_topX_r16
194
Table 55.
Report Name in UI
Report ID in XML
telco_topX.xml
telco_FreqCountryBySA_topX
telco_topX.xml
telco_FreqCountryBySADetail
_topX
Add the following code before the <dataSource> tag in the report XML file, specifying the
threshold value and the XML report ID:
<batchCriteria threshold="10" reportId="batchCriteria_accounts">
<query></query><inputBindings name="input bindings name"></inputBindings>
</batchCriteria>
You can also set the stopThreshold attribute. When you set the stopThreshold attribute, if the
testing report result meets the stopThreshold value, then the report engine withholds the report
and displays the following message:
The scope of the report you have requested is too large. Reduce the number of periods, change
your filter criteria, or change your hierarchy position.
Customizing Charts
Some Oracle Billing Insight reports use Data Visualization Tools (DVT) for charts. You can customize
the format of DVT charts, specifying size, fonts, color, and so on for each chart type. The properties
for each report are stored in individual property files. The properties in each file apply to all report
charts of that type.
You can also create additional property files with alternate formats to associate with particular
reports. You can associate only one property file with a chart type at any time, however. For details
about which reports can be presented as charts, see Self-Service Application Guide for Oracle Billing
Insight. For details on which properties are configurable for each type of chart available, see
Configurable Chart Properties on page 196.
19 5
To customize the formatting properties for a particular DVT chart, edit the property file
associated with the particular chart type. The following chart property files are in EDX_HOME/
config/chart directory:
DVT Chart Type
Property File
vertical_bar_chart.properties
horiz_bar_chart.properties
vertical_stack_bar_chart.properties
horiz_stack_bar_chart.properties
Pie chart
pie_chart.properties
Line chart
line_chart.properties
You can create an alternate property file for a chart type and associate it with the chart type
(replacing the default property file for the chart). Edit the chart section of XML in the EDX_HOME/
config/rpt/filename.xml file. In the file name, filename is the name of the report. Replace the
name of the properties file with the new one in the style statement as shown in the following
table. Specify only one property file for each chart type at a time.
Chart Type as
Indicated in the Report
XML
type="BAR_VERT_CLUST"
style="config/chart/
vertical_bar_chart.properties"
type="BAR_HORIZ_CLUST"
style="config/chart/
horiz_bar_chart.properties"
type="BAR_VERT_STACK"
style="config/chart/
vertical_stack_bar_chart.properties"
type="BAR_HORIZ_STACK"
style="config/chart/
horiz_stack_bar_chart.properties"
Pie chart
type="PIE"
style="config/chart/
pie_chart.properties"
Line chart
type="LINE"
style="config/chart/
line_chart.properties"
196
Table 56.
Property Description
Property Name
Values or Units
Chart width
width
Pixels
Dashboard width
dashboardWidth
Pixels
Chart height
height
Pixels
Dashboard height
dashboardHeight
Pixels
Three-dimensional effect
3D
True or False
Gradient effect
gradient
True or False
Background color
backgroundColor
Transparent or a hex
color code
legend
legendBGColor
Transparent or a hex
color code
legendBorderColor
Transparent or a hex
color code
legendFontColor
legendFont
Style name
legendFontSize
Number
dashboardLegendFontSize
Number
Bold on legend
legendBold
True or False
Italic on legend
legendItalic
True or False
Underline on legend
legendUnderline
True or False
Legend alignment
legendAlignment
Series colors
seriesColors
Color by group
colorByGroup
True or False
19 7
Table 56.
Property Description
Property Name
Values or Units
plotBGColor
Transparent or a hex
color code
plotBorderColor
Transparent or a hex
color code
dataLabels
dataDecimalDigit
Whole number
maxBarWidth
Pixels
titleFontColor
titleFont
Style name
titleFontSize
Points
dashboardTitleFontSize
Points
Bold on title
titleBold
True or False
Italics on title
titleItalic
True or False
Underline on title
titleUnderline
True or False
Alignment of title
titleAlignment
xAxisTitleColor
xAxisTitleFont
Style name
xAxisTitleFontSize
Points
dashboardXAxisTitleFontSize
Points
xAxisTitleBold
True or False
xAxisTitleItalic
True or False
xAxisTitleUnderline
True or False
xAxisTitleAlignment
xAxisLabelColor
xAxisLabelFont
Style name
xAxisLabelFontSize
Points
dashboardXAxisLabelFontSize
Points
xAxisLabelBold
True or False
xAxisLabelItalic
True or False
xAxisLabelUnderline
True or False
198
Table 56.
Property Description
Property Name
Values or Units
xAxisLabelAlignment
xAxisLineColor
xGrid=false
True or False
xGridColor
y1AxisTitleColor
y1AxisTitleFont
Style name
y1AxisTitleFontSize
Number of points
dashboardY1AxisTitleFontSize
Number of points
y1AxisTitleBold
True or False
y1AxisTitleItalic
True or False
y1AxisTitleUnderline
True or False
y1AxisTitleAlignment
y1AxisLabelColor
y1AxisLabelFont
Style name
y1AxisLabelFontSize
Points
dashboardY1AxisLabelFontSize
Points
y1AxisLabelBold
True or False
y1AxisLabelItalic
True or False
y1AxisLabelUnderline
True or False
y1AxisLabelAlignment
y1AxisLineColor
y1Grid
True or False
y1GridColor
nMarkersPerRow
Whole number
19 9
Table 57.
Property Description
Property Name
Values or Units
Three-dimensional effect
3D
True or False
Gradient effect
gradient
True or False
Width of chart
width
Pixels
Height of chart
height
Pixels
Width of dashboard
dashboardWidth
Pixels
Height of dashboard
dashboardHeight
Pixels
Background color
backgroundColor
Transparent or a hex
color code
legend
legendBGColor
Transparent or a hex
color code
legendBorderColor
Transparent or a hex
color code
legendFontColor
legendFont
Style name
legendFontSize
Number
dashboardLegendFontSize
Number
Bold on legend
legendBold
True or False
Italic on legend
legendItalic
True or False
Underline on legend
legendUnderline
True or False
Legend alignment
legendAlignment
nMarkersPerRow
Whole number
Series colors
seriesColors
Color by group
colorByGroup
True or False
plotBGColor
Transparent or a hex
color code
plotBorderColor
Transparent or a hex
color code
200
Table 57.
Property Description
Property Name
Values or Units
dataLabels
dataDecimalDigit
Whole number
titleFontColor
titleFont
Style name
titleFontSize
Points
dashboardTitleFontSize
Points
Bold on title
titleBold
True or False
Italics on title
titleItalic
True or False
Underline on title
titleUnderline
True or False
Alignment of title
titleAlignment
sliceLabelType
Percent. The
percentage value.
Series_percent.
The series name and
percentage of the
slice.
sliceLabelPosition
Inside,
Outside_without_feeler,
Outside_with_feeler, or
None.
sliceLabelColor
sliceLabelFont
Style name
sliceLabelFontSize
Number
sliceLabelBold
True or False
sliceLabelItalic
True or False
sliceLabelUnderline
True or False
20 1
Table 58.
Property Description
Property Name
Values or Units
Width of chart
width
Pixels
Width of dashboard
dashboardWidth
Pixels
Height of chart
height
Pixels
Height of dashboard
dashboardHeight
Pixels
Three-dimensional effect
3D
True or False
Gradient effect
gradient
True or False
Background color
backgroundColor
Transparent or a hex
color code
legend
legendBGColor
Transparent or a hex
color code
legendBorderColor
Transparent or a hex
color code
legendFontColor
legendFont
Style name
legendFontSize
Number
dashboardLegendFontSize
Number
Bold on legend
legendBold
True or False
Italic on legend
legendItalic
True or False
Underline on legend
legendUnderline
True or False
Legend alignment
legendAlignment
Series colors
seriesColors
Color by group
colorByGroup
True or False
plotBGColor
Transparent or a hex
color code
plotBorderColor
Transparent or a hex
color code
dataLabels
202
Table 58.
Property Description
Property Name
Values or Units
dataDecimalDigit
Whole number
titleFontColor
titleFont
Style name
titleFontSize
Points
dashboardTitleFontSize
Points
Bold on title
titleBold
True or False
Italics on title
titleItalic
True or False
Underline on title
titleUnderline
True or False
Alignment of title
titleAlignment
xAxisTitleColor
xAxisTitleFont
Style name
xAxisTitleFontSize
Points
dashboardXAxisTitleFontSize
Points
xAxisTitleBold
True or False
xAxisTitleItalic
True or False
xAxisTitleUnderline
True or False
xAxisTitleAlignment
xAxisLabelColor
xAxisLabelFont
Style name
xAxisLabelFontSize
Points
dashboardXAxisLabelFontSize
Points
xAxisLabelBold
True or False
xAxisLabelItalic
True or False
xAxisLabelUnderline
True or False
xAxisLabelAlignment
xAxisLineColor
xGrid=false
True or False
xGridColor
y1AxisTitleColor
20 3
Table 58.
Property Description
Property Name
Values or Units
y1AxisTitleFont
Style name
y1AxisTitleFontSize
Number of points
dashboardY1AxisTitleFontSize
Number of points
y1AxisTitleBold
True or False
y1AxisTitleItalic
True or False
y1AxisTitleUnderline
True or False
y1AxisTitleAlignment
y1AxisLabelColor
y1AxisLabelFont
Style name
y1AxisLabelFontSize
Points
dashboardY1AxisLabelFontSize
Points
y1AxisLabelBold
True or False
y1AxisLabelItalic
True or False
y1AxisLabelUnderline
True or False
y1AxisLabelAlignment
y1AxisLineColor
y1Grid
True or False
y1GridColor
204
Using the Reporting Engine Changing the Local Storage Location for the HTML Report
Formatting Files
To change the default local storage location for the HTML report formatting files
1
UNIX. EDX_HOME/xma/config/com/edocs/common/reporting
Windows. EDX_HOME\xma\config\com\edocs\common\reporting
In the reporting.batch.xma.xma file, specify the path parameter value, starting with the correct
slash (/ or \) for your platform, in the BatchFileConfig bean.
The following code shows the default BatchFileConfig bean definition:
<bean id="BatchFileConfig"
class="com.edocs.common.reporting.batch.file.BatchFileConfigBean"
scope="singleton">
<!-- use this property to overide the default base, the system property for
edx.home
<property name="rootDir"><value>C:/oracle/selfservice</value></property> -->
<property name="path"> <value>/output/reportapp</value></property>
If you need to change the install, or EDX_HOME directory, then edit the rootDir parameter.
Specify an absolute path, such as /oracle/selfservice/data, and do not end the rootDir value
with a slash.
20 5
Using the Reporting Engine Changing the Local Storage Location for the HTML Report
Formatting Files
206
Payment Processing
This chapter describes how Oracle Billing Insight processes certain payment activities. It includes the
following topics:
Input File Format for Canceling Payments for Consumer Users in Batch on page 241
A new customer enrolls for check payment services by completing an enrollment form in the user
interface. Oracle Billing Insight saves the information in the payment_accounts table with an
enrollment status of pnd_active.
The pmtSubmitEnroll job runs to submit the enrollment information to the payment gateway. It
changes the enrollment status to pnd_wait. If the check cannot be submitted, then the status is
changed to Failed.
For ACH only, pmtSubmitEnroll sends customer enrollment information, which is contained in a
zero amount check called a prenote, to an ACH payment gateway for verification. To send a
prenote, the pmtSubmitEnroll job creates a zero amount check with status of prenote_scheduled,
and immediately inserts the check into the EDX_PMT_TRANSACTION table with a status of
prenote_processed. This means that the status prenote_scheduled is transitory, and so is not
visible in the EDX_PMT_TRANSACTION table. A summary report is created, which can be viewed
from the Command Center.
20 7
After receiving the customer enrollment information, the ACH payment gateway responds with a
return file only if there are errors in the customer enrollment information. If there are no errors,
then ACH does not send a return file, or any other form of acknowledgement.
The pmtConfirmEnrollment job runs. This job updates the status of the customer enrollment
status to Active if there are no problems after a specified number of days (by default, three
days).
If the payment enrollment information is not correct, then the pmtConfirmEnrollment job
updates the customer enrollment status to bad_active. An exception report is created, which can
be viewed from the Command Center.
The customer might optionally receive an email about enrollment status from the pmtNotifyEnroll
job.
Figure 7.
208
Table 59.
Enrollment Status
Description
pnd_active
pnd_wait
The check account has been sent to the bank for verification.
active
bad_active
Figure 8.
A customer logs in and schedules a new payment. This step inserts a check into the Oracle Billing
Insight database with a status of scheduled.
If the customer later cancels the payment, then the check status is changed to cancelled, but
the payment remains in the Oracle Billing Insight database for the customer to view as a
cancelled payment.
20 9
The pmtCheckSubmit job runs. This step selects all the checks that are due for payment, creates
a batch file of selected checks, and sends the batch file to the payment gateway (ODFI). It also
changes the status of each selected check to Processed in the Oracle Billing Insight database.
If the check cannot be submitted, then the status is changed to Failed. A summary report log file
is generated, which can be viewed from Command Center.
The payment gateway (ODFI) processes the received check payment through the ACH operator
to the RDFI. In this step, if there is an error clearing the check, then ACH creates a file containing
a code that indicates why the check was returned, and sends the file to Oracle Billing Insight.
The pmtCheckUpdate job runs. This step changes the status of the check from Processed to Paid
if there is no return file, and five business days (default) have passed.
If the payment gateway returns the check, then the pmtCheckUpdate job updates the checks
status to Returned, and saves the reason code in the txn_err_msg field of the
EDX_PMT_TRANSACTION table. An exception report is generated to summarize the information
in the returned file, which can be viewed from Command Center.
If there is an error other than returned, then the pmtCheckUpdate job changes the check status
to Failed.
If configured, then the pmtPaymentReminder job sends email to the customer about the status
of the check payment.
Figure 9.
210
Table 60 lists the statuses that can occur during a check payment transaction cycle. The values in
parentheses () are the values saved in the Oracle Billing Insight database
Table 60.
Transaction Status
Description
Scheduled(106)
Processed(107)
Paid(108)
Cancelled(109)
Failed(-101)
ACH failed to pay a check failed for a reason other than returned.
Returned(-204)
noc_returned(-205)
Web. Internet initiated entry (default for Oracle Billing Insight). Debit entries are originated
(single or recurring) from a customer's account using web based authorization.
PPD. Pre Arranged Payment and Deposit Entry. Under PPD the following types are included:
Direct Deposit. The credit application transfers funds into the customer's account.
Preauthorized Bill Payment. This is a debit application, where billers transfer electronic
bill payment entries through the ACH network.
CTX. Corporate Trade Exchange. Supports multiple addenda records based on ANSI ASC X12
standards. This code can be used either with the credit or debit application.
21 1
Table 61.
Code
C01
C02
C03
C05
C06
C07
Table 62.
Code
R01
Insufficient Funds.
R02
Account Closed.
R03
R04
R05
Reserved.
R06
R07
R08
R09
Uncollected Funds.
R10
R11
Check Truncation Entry Return (Specify) or State Law Affecting Acceptance of PPD
Debit Entry Constituting Notice of Presentment or PPD Accounts Receivable
Truncated Check Debit Entry.
R12
212
Table 62.
Code
R14
R15
R16
Account Frozen.
R17
R20
Non-Transaction Account.
R21
R22
R23
R24
Duplicate Entry.
R29
R31
R33
Additional information about these and additional ACH return codes are available at
http://www.nacha.org/
NOC Transactions
When a prenote is returned with a NOC, TXN_MESSAGE is populated with NOC information formatted
as NOC_CODE::NEW_ADDENDA_INFO::OLD_ADDENDA_INFO
where:
NEW_ADDENDA_INFO is the NOC information returned from ACH, which can include the
corrected account number, routing and account type.
21 3
If the field is set to No, then nonbusiness days are skipped, and the effective entry date is the next
business day following the computed date. Payment checks the scheduled payment date to see
whether it is on or before the end of today. If so, then the computed date is the customer-scheduled
date plus one. If not, then the computed date is the customer-scheduled date.
Nonbusiness days are weekend days and the U.S. Federal holidays.
Authorization. Authorization verifies the customer account and puts a hold on the account for
the amount of the payment.
Oracle Billing Insight Payment performs authorization and settlement in one transaction.
Credit card and debit card payments require an agreement with a credit card gateway to process
credit card transactions. A cartridge for PayPal Payflow Pro is provided with Oracle Billing Insight,
which requires signing up with PayPal Payflow Pro payment services. The Chase Paymentech Orbital
Payment Gateway cartridge has been tested for use with Oracle Billing Insight. In addition, you can
create cartridges to support other payment processors. For help with cartridges, contact your Oracle
sales representative to request assistance from Oracle's Professional Services.
CAUTION: Chase Paymentech PNS does not support debit card payments. If you use this option,
then you must remove the debit card option from the Self-Service application UI. Otherwise,
attempted debit card payments will not process successfully.
214
Payment Status
Transaction Status
Description
Scheduled (106)
Settled (108)
Failed-authorized (-104)
Cancelled (109)
Failed (-101)
21 5
A user enters a credit or debit card number and other card-related information.
The card information is sent to the card-issuing bank for authorization. Authorization only
guarantees that the money is available at the time of authorization.
The merchant issues a settlement request to issuing bank so that the money can be transferred,
usually after fulfillment (sending out ordered goods). For bill payments, the biller does not send
out ordered goods, so authorization and synchronization are combined into one operation. A
credit or debit card payment is settled at the same time it is authorized.
216
Settled
Failed-authorize
Failed
A user submits an instant credit or debit card payment from the UI.
Oracle Billing Insight sends the payment to the credit card cartridge in real time.
If the card is authorize and settled, then the credit card state is set to Settled.
The pmtPaymentReminder job runs and (optionally) sends email to users who have made an
instant payment.
Scheduled
Cancelled
Settled
Failed-authorize
Scheduled
A card payment is scheduled by the customer through the user interface, and the payment is
marked as Scheduled in the EDX_PMT_TRANSACTION table.
Before the scheduled card payment is processed by pmtCreditCardSubmit, the user can modify
or cancel it.
21 7
When the pmtCreditCardSubmit job runs, it selects all credit and debit card payments that are
scheduled to be paid at the time the job runs, opens a connection to the credit or debit card
payment gateway, and starts making payments. The Number of days before a credit or debit
card's pay date for it to be submitted parameter determines how many days in the future to look
when selecting payments to be made.
If ICreditCardPlugIn has been implemented in Payment Settings, then this job modifies the card
payments that are scheduled to be paid, or takes other actions related to the selected card
payments. Functions in the plug-in are called before and after credit and debit card payment
processing. For more information about the pmtCreditCardSubmit job and its plug-in, see
Administration Guide for Oracle Billing Insight. For help with configuring job plug-ins, contact
your Oracle sales representative to request assistance from Oracle's Professional Services.
The credit card gateway sends the transactions to the credit card processor. The credit card
processor either authorizes and settles the payment, or rejects it. The results are returned to the
credit card gateway, which forwards the results to the pmtCreditCardSubmit job.
The pmtCreditCardSubmit job changes the status of the credit or debit card payment in the
Oracle Billing Insight database depending on the transaction status returned by the credit card
processor, and optionally sends email to the customer about the status of the payment.
If the card is authorized and settled, then the credit or debit card status is set to Settled.
The pmtPaymentReminder job runs and (optionally) sends email to users about the status of
their scheduled payment.
User Options
The user interface to Oracle Billing Insight Payment can offer a variety of credit card payment
options. Some of those options require that fields be configured in Payment Settings for a credit card
payment gateway.
218
21 9
Both recurring and automatic payments are designated as recurring payments by the NACHA 2009
specification. NACHA 2009 defines a payment as recurring when the account manager (Oracle Billing
Insight) keeps the account information in a database.
Recurring payments can be modified or cancelled at any time before the payment is scheduled.
Recurring payment allows a customer to make payments automatically, based on the amount and
pay date. There are five kinds of recurring payments:
Amount due and before due date, for example, pay the entire amount due two days before the
due date.
Amount due and fixed pay date, for example, pay minimal amount due on day 31 of each month.
Fixed amount and before the due date, for example, pay $100 one day before the due date.
Fixed amount and fixed pay date, for example, pay $100 on the first day of each month.
Amount due up to a fixed amount, and send email if over that fixed amount.
Amount defines how much the recurring payment is going to pay for each payment. The amount can
be a fixed amount or the amount due. The amount due is that of the loaded bill.
Pay date defines when each payment is going to be cleared (money transfers). The pay date can be
a fixed date or a date before it is due.
220
For monthly payments, if day 29, 30, or 31 is selected, and that day does not exist for a particular
month, then the pay date defaults to the last day of that month. For example, specifying day 31 of
each month ensures that payments are made at the last day of each month.
The effective period defines when a recurring payment starts and ends. A payment is made if its pay
date is within the effective period (inclusive). If the pay date is after the end date of the effective
period, then the recurring payment is deactivated. By default, a recurring payment only starts
tomorrow. This is done so that all bills that arrive up to and including today are considered paid, so
recurring payment must not pay these bills a second time.
Each bill as a unique ID called the bill ID, which is from the statement number of each statement
record.
Oracle Billing Insight prevents a bill from being paid twice.
After a user creates a recurring payment, that user is not permitted to change the payment amount
from fixed to amount due, or to change the pay date from fixed to before due date, or conversely.
When a recurring payment starts (which is when the first recurring payment has been made), the
start date of the recurring payment cannot be modified.
CAUTION: Recurring payment supports only one customer account for each biller. Recurring
payment does not support multiple customer accounts with a single biller.
Recurring payments consist of actions at the front-end (UI) and back end (Command Center jobs).
The UI allows a user to insert, update, and delete a recurring payment, and the back end
pmtRecurPayment job makes the payment.
The recurring payment feature involves a great deal of business logic.
22 1
Due Dates
If a recurring payment is not a fixed date and fixed amount, then it must have a due date. The due
date is used to decide which bill is the latest one to pay. You must load the due date or a date to use
that is equivalent to the due date.
The recurring_payments table does not save bill summary or payment information.
Oracle Billing Insight pulls bill summary information from the EDX_ACCOUNT_LATEST_STATEMENT
table and saves it into the payment_bill_summaries table. The pmtRecurringPayment job populates
the payment_bill_summaries and bill_id of the recurring_payments tables.
Payment information is scheduled into the EDX_PMT_TRANSACTION table for check, credit card, or
debit cards.. The recurring_payments table is updated with the payment_id.
Retrieves the latest bill for a recurring payment that a customer set up through the UI. This
process is called synchronization. A recurring payment can only be synchronized with the Oracle
Billing Insight database if it is associated with a bill and the amount to pay is the amount due or
the pay date is before the due date. A recurring payment with fixed amount and fixed date will
not be synchronized with the Oracle Billing Insight database, which means there is no bill
information associated with this recurring payment.
The parameter, When to Synchronize Recurring Payment with Statements, belongs to the
pmtRecurringPayment job.
222
Table 64 shows the columns that are updated in the recurring_payments table by the
pmtRecurringPayment job.
Table 64.
Description
bill_scheduled
Status
last_process_time
last_pay_date
next_pay_date
bill_id
curr_num_payments
TIP: No payment is inserted into the EDX_PMT_TRANSACTION table when a recurring payment is
created by the user. Payments are inserted by the pmtRecurringPayment job.
22 3
The activities performed in the user interface update the data in the recurring_payments table as
described in Table 65.
Table 65.
Column Name
Comment
AMOUNT_TYPE and
AMOUNT
PAY_INTERVAL
DAY_OF_PAY_INTERVAL
MONTH_OF_PAY_
INTERVAL
START_DATE
END_DATE
CURR_NUM_PAYMENTS
MAX_NUM_PAYMENTS
STATUS
Amount due. Pay amount due on the bill and, AMOUNT column is
not used (null).
Upto amount. Pay the amount due if it is less than the value of
the AMOUNT column. Otherwise, pay the value of AMOUNT and
send a notification.
These three columns record how the payment date is generated. They
are only updated through the UI, and are used by back-end jobs to
calculate when to pay. The valid PAY_INTERVAL value is Monthly. Userspecified to make payments monthly. The day of month is specified by
DAY_OF_PAY_INTERVAL. The MONTH_OF_PAY_INTERVAL is irrelevant.
These columns determine when to start the recurring payment and
when to stop it. START_DATE, END_DATE and MAX_NUM_PAYMENTS
can only be updated through the UI.
START_DATE is required, but you set only one of the END_DATE (end
by that date) or MAX_NUM_PAYMENTS (end when this number of
payments is made).
The recurring payment STATUS is active when it is created and it has
not reached either END_DATE or MAX_NUM_PAYMENTS. When one of
them is reached, the STATUS is changed to inactive and the recurring
payment will never take effect again.
If END_DATE is chosen, if the pay date for the next bill to be paid is
later than or the same as the start date, and sooner or the same as the
end date, then the bill will be paid. The STATUS is set to inactive if the
next pay date is later than the end date.
If MAX_NUM_PAYMENTS is chosen, then the STATUS is changed to
inactive when CURR_NUM_PAYMENTS reaches MAX_NUM_PAYMENTS.
LAST_PAY_DATE
This is the pay date of the last bill. It is set to 01/07/1970 when
recurring payment is created to indicate that there is valid information.
NEXT_PAY_DATE
This is the pay date of the next bill. When the recurring payment job
runs, it schedules a payment with a pay date of NEXT_PAY_DATE. Note,
NEXT_PAY_DATE is calculated based on LAST_PAY_DATE and
PAY_INTERNAL.
224
22 5
Now a valid bill summary exists. If the payment to the previous bill summary is still in scheduled
status, then the following occurs:
226
Sets the bill_scheduled flag to N if the payment amount is not negative, or Y if it is negative.
This means that no credit or reversal will be issued from recurring payment, and the credit
appears as part of the next bill.
Sets the bill_id of the recurring payment to the one of the new bill summary.
Calls IRecurringPaymentPlugIn.preUpdateSynchronizedRecurring().
Value
last_pay_date
In the case where the pay date is fixed, but amount is based on
amount due, last_pay_date could be moved one pay_interval back if
a scheduled payment is cancelled because a new bill arrives.
Otherwise, last_pay_date will stay the same.
next_pay_date
status
bill_id
It is set to the bill_id (the primary key of the bill record) of the bill
being inserted into the payment_bill_summaries table.
bill_scheduled
last_process_time
22 7
228
Example of How to Schedule the Amount Due Before the Due Date
The following steps describe an example of how to schedule the amount due before the due date:
On date 04/09/2012, a customer with account number acct1111 creates a recurring payment.
The amount is amount due, the pay date is one day before due date, the start date is 04/10/
2012, and the end date is 06/10/2012.
Column Name in the
recurring_payments
Table
Value
payer_account_number
acct1111
bill_scheduled
status
active
last_process_time
last_pay_date
next_pay_date
bill_id
Null
max_num_payments
The pmtRecurringPayment job runs on 04/10/2012 23:59:00PM. The job searches the
recurring_payments table to find all recurring payments whose bill_scheduled is Y and status is
Active. It finds the example recurring payment and then asks Command Center to return all bills
whose account number is acct1111 and whose UPDATE_DATE is between 04/10/2012
(last_process_time) and 04/10/2012 23:59:00PM (job run time). Two bills, bill2 and bill3, are
returned. pmtRecurringPayment then finds the bill with latest due date bill3. bill2 is ignored
because only the latest bill is paid.
After finding the latest bill from Command Center, pmtRecurringPayment checks whether the
BILL_CYCLE_END_DATE of this bill is after the BILL_CYCLE_END_DATE of the bill used in the last
payment (last bill information can be retrieved from payment_bill_summaries using the bill_id).
If not, then this is an old bill and must not be paid. In this case, because there is no last payment,
bill3 is paid.
22 9
Oracle Billing Insight inserts bill3 into the payment_bill_summaries table and the
recurring_payment table is recalculated as shown in the following table.
Column Name
Value
payer_account_number
acct1111
bill_scheduled
status
last_process_time
last_pay_date
01/01/1970, unchanged
next_pay_date
bill_id
bill3
If the pmtRecurringPayment job runs between 04/11/2012 and 05/10/2012, then nothing
happens to this recurring payment because synchronization and scheduling do not happen. The
table remains unchanged.
Value
payer_account_number
acct1111
bill_scheduled
status
last_process_time
last_pay_date
next_pay_date
05/14/2012, unchanged
bill_id
bill3
payment_id
The customer can now view the payment from Future Payments in the example interface. He or
she can update or cancel the scheduled payment if desired.
230
On 05/13/2012, the ETL runs again and inserts a new bill, bill4. The bill detail information is
obtained from the EDX_ACCOUNT_LATEST_STATEMENT table from OLTP..
ACCOUNT_
NUMBER
STATEMENT_
NUMBER
UPDATE_DATE
TOTAL_
AMOUNT_DUE
STATEMENT_
DUE_DATE
acct1111
bill1
03/10/2012
100.01
04/15/2012
acct1111
bill2
04/10/2012
50.00
04/25/2012
acct1111
bill3
04/10/2012
100.00
05/15/2012
acct1111
bill4
05/13/2012
80.00
06/15/2012
Value
payer_account_number
acct1111
bill_scheduled
status
last_process_time
last_pay_date
05/14/2012, unchanged
next_pay_date
bill_id
bill4
Example of How to Schedule the Amount Due with a Fixed Pay Date
The following steps describe an example of how to schedule the amount due with a fixed pay date:
23 1
On 04/09/2012, a customer with account number acct1111 creates a recurring payment. The
amount is amount due, the pay date is day 31 of each month, the start date is 04/10/2012,and
the recurring payment stops after 10 payments.
Column Name
Value
payer_account_number
acct1111
bill_scheduled
status
active
last_process_time
04/10/2012
last_pay_date
01/01/1970
next_pay_date
bill_id
Null
end_date
curr_num_payments
STATEMENT_
NUMBER
UPDATE_DATE
TOTAL_
AMOUNT_DUE
STATEMENT
_DUE_DATE
acct1111
bill1
03/10/2012
100.01
04/15/2012
acct1111
bill2
04/10/2012
50.00
04/25/2012
acct1111
bill3
04/10/2012
100.00
05/15/2012
Even though the pay date is not related to the due date, DueDate must still be indexed because
it is used to decide which bill is the latest.
The pmtRecurringPayment job runs on 04/10/2012 23:59:00PM. bill3 is found in the latest
statement table and inserted into the payment_bill_summaries table. The recurring_payments
table is recalculated as shown in the following table.
232
Column Name
Value
payer_account_number
acct1111
bill_scheduled
status
last_process_time
last_pay_date
Column Name
Value
next_pay_date
bill_id
bill3
curr_num_payments
Value
payer_account_number
acct1111
bill_scheduled
status
last_process_time
last_pay_date
next_pay_date
bill_id
bill3
payment_id
curr_num_payments
Repeat steps 2, 3 and 4 until curr_num_payments reaches 10. At step 4 of the tenth payment,
the status changes to Inactive.
If no bills arrive for a month, then next_pay_date is automatically moved to next month. For
example, if there is no bill for April, then the next_pay_date is automatically moved from 04/30/2012
to 05/31/2012 when the current job run time is May 1.
23 3
On 04/09/2012, a customer with account number as acct1111 creates a recurring payment from
the UI. The amount is $50, the pay date is one day before the due date, the start date is 04/10/
2012 and the recurring payment stops after 10 payments.
Column Name
Value
payer_account_number
acct1111
bill_scheduled
status
active
last_process_time
04/10/2012
last_pay_date
01/01/1970
next_pay_date
01/01/300
bill_id
Null
end_date
curr_num_payments
STATEMENT_
NUMBER
UPDATE_DATE
STATEMENT_
DUE_DATE
acct1111
bill1
03/10/2012
04/15/2012
acct1111
bill2
04/10/2012
04/25/2012
acct1111
bill3
04/10/2012
05/15/2012
The pmtRecurringPayment job runs on 04/10/2012 23:59:00PM, after running the load and after
the new bill has been inserted. In this case, bill3 is found in the latest statement table and
inserted into the payment_bill_summaries table. bill3 details are retrieved from the
EDX_ACCOUNT_LATEST_STATEMENT table in OLTP and inserted into the
payment_bill_summaries table. The recurring_payments table is recalculated as shown in the
following table.
234
Column Name
Value
payer_account_number
acct1111
bill_scheduled
Column Name
Value
status
last_process_time
last_pay_date
next_pay_date
05/14/2012. This date is one day before the due date, 05/
15/2012.
bill_id
bill3
curr_num_payments
Value
payer_account_number
acct1111
bill_scheduled
status
last_process_time
last_pay_date
next_pay_date
bill_id
bill3
payment_id
curr_num_payments
These steps repeat until next_pay_date is after end_date, when status changes to inactive.
23 5
On 04/09/2012, a customer with account number acct1111 creates a recurring payment. The
amount is $50 and the pay date is day 1 of each month. The recurring payment starts at 04/10/
2012 and ends at 06/10/2012. The columns in the recurring_payments table are updated as
follows.
236
Column Name
Value
payer_account_number
acct1111
bill_scheduled
status
active
last_process_time
04/10/2012
last_pay_date
01/01/1970
next_pay_date
05/01/2012
bill_id
Null
end_date
06/10/2012
curr_num_payments
Value
payer_account_number
acct1111
bill_scheduled
status
last_process_time
last_pay_date
next_pay_date
bill_id
Null
payment_id
curr_num_payments
Repeat Step 2 until next_pay_date is after end_date. Then the status changes to Inactive.
Encryption exceptions.
Regular payment reminders that failed to send, for any reason, such as bad email address.
Check payment email that failed to send, for any reason, such as encryption error, bad email
address.
Credit card payment email failed to send, for any reason, such as encryption error or bad
email address.
23 7
pmtCreditCardSubmit. Writes credit card payments that failed to submit, for example, because
of encryption errors, invalid credit card information (such as invalid account) or network errors.
pmtIntegrator (AR). Writes check and credit card payments that were not written to the AR
file, such as because of encryption errors or file write errors.
238
Audit Database
The Oracle Billing Insight database supports auditing.
Table 66.
Column Name
Comments
audit_operation
audit_status
audit_reason
job_id
Pwc job ID
job_name
time_stamp
New Tables
The following tables are based on the table name with _history at the end. They have all the columns
in the base table, plus the new columns listed in Table 66 on page 239 to support auditing.
payment_accounts_history
payment_bill_summeries_history
payment_reminder_history
recurring_payments_history
23 9
EDX_PMT_TRANSACTION_CONST
EDX_PMT_TRANSACTION_HISTORY
RECURRING_PAYMENT_CONST
RECURRING_PAYMENT_HISTORY
PAYMENT_BILL_SUMMARIES_CONST
PAYMENT_BILL_SUMMARIES_HISTORY
PAYMENT_ACCOUNT_CONST
PAYMENT_ACCOUNT_HISTORY
PAYMENT_REMINDERS_CONST
PAYMENT_REMINDERS_HISTORY
Task Name
CheckSubmitTask
ChkSubTsk
CheckUpdateTask
ChkUpdTsk
PaymentIntegratorTask
PmtIntTsk
CreditCardExpNotifyTask
CCExpNTsk
CreditCardSubmitTask
CCSubTsk
CreditCardUpdateTask
CCUpdTsk
ConfirmEnrollTask
ConEnrTsk
NotifyEnrollTask
NotEnrTsk
RecurPaymentSchedulerTask
RcuSchTsk
RecurPaymentSynchronizerTask
RcuSynTsk
PaymentReminderTask
PmtRmdTsk
SubmitEnrollTask
SubEnrTsk
CustomTask
CustomTsk
240
Related Topic
Debugging Oracle Billing Insight on page 22
Input File Format for Canceling Payments for Consumer Users in Batch
Maximum
Length
Data Type
Required
Description
Billing System
ID
20
VARCHAR2
No
Billing
Account
Number
20
VARCHAR2
Yes
Position
Names
24 1
Payment Processing Input File Format for Canceling Payments for Consumer Users in
Batch
242
Customizing Payment
This chapter covers the tasks required to customize the Payment module in Oracle Billing Insight. It
includes the following topics:
About the APIs for Implementing Custom Payment Cassette Cartridges on page 271
Updating the Back-End Billing System With a Top-Up Payment on page 282
IAchPlugIn. This plug-in is for the ACH cartridge when submitting checks to ACH and processing
the return file provided by ACH. For details on creating a custom ACH plug-in, see Creating an
ACH Plug-In on page 250.
ICreditCardPlugIn. This plug-in is provided for use with all credit cards when submitting to a
credit card gateway. For details on creating a custom credit card plug-in, see Creating a Credit
Card Plug-In on page 250.
IPaymentReminderPlugIn. This plug-in is provided for use with the pmtPaymentReminder job.
For details on creating a custom the payment reminder plug-in, see Creating a Payment Reminder
Plug-In on page 251.
IRecurringPaymentPlugIn. This plug-in is provided for use with the pmtRecurPayment job. For
details on creating a custom recurring payment plug-in, see Creating a Recurring Payment PlugIn on page 252.
24 3
Each plug-in comes with a default implementation. It is recommended that you derive your plug-in
from the default implementation to ensure that future updates to the plug-in do not break your code.
Job Plug-Ins
Table 70 lists the plug-ins available for the payment jobs.
Table 70.
Job
Plug-In Code
pmtCheckSubmit
DefaultAchPlugin.java
AddendaCheckSubmitPlugIn.java
A sample implementation is included in Oracle Billing Insight.
pmtCreditCardSubmit
DefaultCreditCardPlugin.java
pmtPaymentReminder
PaymentReminderPlugIn.java
pmtRecurringPayment
RecurringPaymentPlugIn.java
SampleRecurringPlugIn.java
A sample implementation is included in Oracle Billing Insight.
244
Figure 15. Workflow for the pmtCheckSubmit job with the IAchPlugin Plug-In
24 5
Figure 16. Workflow of the ICreditCardPlugin Plug-In When an Instant Credit Card Payment is
Submitted
246
Figure 17. Workflow for the pmtCreditCardSubmit Batch Job with the ICreditCardPlugin Plug-In
24 7
248
24 9
Change the format of the ACH file that the pmtCheckSubmit job generates.
Deny a check or change the default information put into the ACH file.
Write addenda records for ACH. The implementation called AddendaCheckSubmitPlugIn gets the
invoice information of a payment and writes them as addenda records.
Create your own implementation to accomplish these tasks. See Accessing Oracle Billing Insight Data
Dictionary and Javadoc on page 25 for information about writing an implementation of IAchIn.
When compiling the class, include the payment-1.0-SNAPSHOT.jar and payment_client.jar files
in your Java classpath.
Package this class into the payment_custom.jar file of each EAR file.
See Packaging Oracle Billing Insight Payment Custom Code on page 270 for information about
redeploying EAR files.
Change the payment settings in the Command Center to point to your new class.
For more information about changing payment settings in the Command Center, see
Administration Guide for Oracle Billing Insight.
Related Topics
Check Submit Job with Plug-In Workflow on page 245
250
Overwrite the methods for which you want to change the default behavior.
When compiling the class, include the payment-1.0-SNAPSHOT.jar and payment_client.jar files
in your Java class path.
Package this class into the payment_custom.jar file of each EAR file.
Change the payment settings of the data definition file (DDN) in the Command Center to use the
new plug-in implementation.
Command Center.
For more information about updating payment settings in the Command Center, see
Administration Guide for Oracle Billing Insight.
Related Topics
Instant Credit Card Payment with Plug-In Workflow on page 246
Credit Card Batch Payment Job with Plug-In Workflow on page 247
Overwrite the methods that you want to change the behavior of.
When compiling the class, include the payment-1.0-SNAPSHOT.jar and payment_client.jar files
in your Java class path.
Package this class into the payment_custom.jar file of each EAR file.
25 1
Related Topics
Payment Reminder Job with Plug-In Workflow on page 249
Overwrite the method that you want to change the behavior of.
When compiling the class, include the payment-1.0-SNAPSHOT.jar and payment_client.jar files
in your Java class path.
Package this class into the payment_custom.jar file of each EAR file.
Update the pmtRecurPayment job configuration in the Command Center to use the new class.
For more information about changing job settings in the Command Center, see Administration
Guide for Oracle Billing Insight.
Related Topics
Recurring Payment Job with Plug-In Workflow on page 248
252
The Template engine hosts a pool of objects in its context in the form of a hash table. You can refer
to the variables in that context by their names. For example, there is a Check object whose name is
check. You can refer to that object as %check%. This means replace %check% with the string
returned from check.toString(). This is true for all Java objects except java.util.Date, where
getTime() is called and inserts a long value that is the number of milliseconds since January 1, 1970,
00:00:00 GMT. If a method returns void, then nothing prints.
The content of the message consists of text plus resolved placeholders. Placeholders are Java
variables, which are Payment hosted objects including their attributes and methods.
Enclose all template variables with two percent signs (%%). To escape %, use %%. For example,
%%40 means %40.
In addition to referring to variables, you can also access an objects public fields and methods. The
valid reference is %name.field%, %name.method(param1, param2, ...)%. Each parameter to a
method can be name, name.field, or name.method(param1, param2, ,,,). The number of
parameters is unlimited and an arbitrary level of method nesting is allowed (nesting means that a
method's return value is used as a parameter when calling another method). For example, suppose
there are two objects in contexts: buf which is a StringBuffer, and str which is a String. The following
references are valid:
%buf%, %buf.append(str)%, %buf.append(str.toString())%
A static field or method can be accessed directly without instantiating an object. For example,
java.lang.Integer has a static field called MIN_VALUE and a static method called parseInt. You can
refer to them as %java.lang.Integer.MIN_VALUE% or %java.lang.Integer.parseInt(12.34)%.
All variables must be preset by calling putToContext on the Template class. Some variables are
already set by Oracle Billing Insight Payment which you can use directly. But you can also put your
own variables into the context:
%template.putToContext(buf, new java.lang.StringBuffer())%
This means to put a new StringBuffer object called buf into the template context. You can then refer
to this object by its name:
%buf.append(abc)%
This appends abc to the end of the StringBuffers value.
The Oracle Billing Insight Payment engine has some limitations. It cannot do math operations, such
as x plus y. You must call a Java method to do math operations. Another limitation is that it does not
allow you to concatenate method calls, for example: %variable.method().method() %. You must
write your own Java method to do method concatenation.
Included with the Oracle Billing Insight Payment package, there are a few utility classes to help you
overcome the weakness of Oracle Billing Insight Payment Template Engine. These classes are:
com.edocs.common.payment.util.DecimalUtil
com.edocs.common.payment.util.DateUtil
com.edocs.common.payment.util.StringUtil.
One useful method in StringUtil is concat, which you declare and use as follows:
25 3
To create a Java class to do truncation and enable it in the Oracle Billing Insight
Payment Template Engine
1
Compile the class and put it into the Payment_custom.jar of each EAR file, then redeploy the EAR
files.
PaymentScheduledNotification
PaymentSuccessNotification
PaymentFailureNotification
254
This template is used for email notifications for processed, returned or failed payments.
ACH Variables
ACH Variable
Type
Description
isACH
Boolean
success
Boolean
errCode
String
Type
Description
isNOC
Boolean
Boolean
isAutoUpdate
Boolean
newPaymentAccount
String
oldPaymentAccount
String
newRouting
String
oldRouting
String
newPaymentType
String
oldPaymentType
String
25 5
ACH Fields
Field Name
Location
Description
Company
Descriptive Date
Individual ID
Individual Name
256
The templates for ACH are XML files, which describe the format of each ACH record, such as the start
position, length, and so on. There are two sets of templates: one to generate ACH files, and another
to parse ACH return files.
The first set of templates is used to generate the following ACH files:
fileHeader_template.xml
batchHeader_template.xml
entryDetail_template.xml
batchTrailer_template.xml
Trailer_template.xml
When an ACH file is generated, check information is pulled from the database and then populated
into the content of the XML files by replacing the template variables. The resulting XML file is
transferred into an ACH file according to the format specified by the XML tags. The generic format
of an XML tag is:
<amount pos="30" len="10" fmt="N" fract="2">%
where:
fract="2" is the number of digits after the decimal point if the format (fmt) is N (numerical)
Table 74 through Table 78 list the template variables that are predefined in the Oracle Billing Insight
Payment Template Engine. These variables are used to populate the content of the templates.
25 7
Global Variable
Name
Type
Description
template
com.edocs.common.util.
template.Template
stringUtil
com.edocs.common.payment.
util.StringUtil
decimalUtil
com.edocs.common.payment.
util.DecimalUtil
dateUtil
com.edocs.common.payment.
util.DateUtil
batch
com.edocs.common.payment.
IPaymentBatch
config
com.edocs.common.payment.
config.IPaymentConfig
attributeName
com.edocs.common.payment.
config.AttributeName
Variable Name
Type
Description
fileCreateDate
java.util.Date
fileCreateTime
java.util.Date
fileIdModifier
java.lang.String
258
Variable Name
Type
Description
curPayDate
java.util.Date
companyDescData
String
companyDescDate
Date
batchNumber
int
batchEffectiveEntryDate
Date
Variable Name
Type
Description
check
com.edocs.common.api
payment.ICheck
addenda Record
Indicator
int
Variable Name
Type
Description
batchEntryHash
String
batchEntryAddendaCount
int
batchDebitAmount
String
batchCreditAmount
String
Always zero.
blockCount
int
totalEntryHash
String
totalEntryAddendaCount
int
totalDebitAmount
String
25 9
fileHeader_return_template.xml
batchHeader_return_template.xml
entryDetail_return_template.xml
addenda_return_template.xml
batchTrailer_return_template.xml
fileTrailer_return_template.xml
The format of these files is similar to the format of the submit template. For example:
<individualName pos="55" len="22" fmt="AN" target="%check.setPaymentId(?)%"></
individualName>
This code retrieves the part of the text from positions 55 to 77, puts it into a variable called ? and
then calls check.setPaymentId() to set payment_id for the check. The template executes the
template statement specified by XML tag target only.
When a check is returned from the ACH network, Oracle Billing Insight Payment matches it to that
check in the database and marks it as returned. ACH modifies several fields in the return file. Oracle
Billing Insight Payment populates one or more unchanged fields with identification information to
help in matching them with a check in the database. Consult the ACH documentation for information
about which fields are not changed.
The return template retrieves the error return code from the addenda record and then tries to
reconstruct the payment ID or gateway payment ID to match a check in the database. If Oracle
Billing Insight cannot populate the payment ID into the ACH file, then it uses the gateway payment
ID, which is a concatenation of a few check payment fields that can identify a check.
By default, Oracle Billing Insight Payment populates the payment_id of the check into the individual
name field to create the ACH file. The following line in the entryDetail_template.xml file populates
the payment ID into an individual name:
<individualName pos="55" len="22" fmt="AN">%check.getPaymentId()%</individualName>
The following line in the entryDetail_return_template.xml file extracts the payment ID:
< individualName pos="55" len="22" fmt="AN" target="%check.setPaymentId(?)%"></
individualName >
The following line in the addenda_return_template.xml file extracts the return error code:
<returnReasonCode pos="4" len="3" target="%check.setTxnErrMsg(?)%"></
returnReasonCode>
Payment then changes the status of the check to returned and updates this check in the database
using its payment_id.
If the individual name is required for another task, for example, the check account name (which is
the first 22 bytes), then follow these steps to use gateway payment ID.
260
Modify the entryDetail_template.xml file to populate individual name with account name.
Change:
<individualName pos="55" len="22" fmt="AN">%check.getPaymentId()%</
individualName>
to:
<individualName pos="55" len="22"
fmt="AN">%stringUtil.substring(check.getAccountName(), 0, 22)%</individualName>
Modify the entryDetail_return_template.xml file so that payment ID will not be set for a returned
check. Change:
<individualName pos="55" len="22" fmt="AN" target='%check.setPaymenId(?)%'></
individualName>
to:
<individualName pos="55" len="22" fmt="AN"></individualName>
Because payment ID cannot be used to match checks, use the gateway payment ID instead.
Gateway payment ID is the ID generated by the template that submitted the ACH file to ACH.
This template generates a unique ID based on the information submitted to ACH. This ID must
contain information that will not be changed by ACH in the return file. The Oracle Billing Insight
engine uses the gateway payment ID to find a match in the database.
In very rare circumstances, more than one match might be found. In that case, the match with the
latest creation time is used. The following example discusses several ways to generate the gateway
payment ID. Oracle Billing Insight Payment generates a trace number and puts that into the entry
detail record. By default, the trace number starts at 0000000 and increases by one for each check
until it reaches 9999999. After this point, the numbering restarts at 0000000. It is possible to get a
duplicate trace number (after 10 million checks). However, because the Oracle Billing Insight
Payment engine always chooses the payment with the latest date, the correct check will be matched.
You can use both the trace number and individual ID (customer account number) to identify a
payment and use them for the gateway payment ID.
26 1
%</*>%
This statement is commented out in the template, using %<*>% and %</*>%. Removing the
comment tags enables the statement.
The trace number is stored as txnNumber in the check object. This statement concatenates the
customer account number, a _, and trace number as the gateway payment ID. The
setGatewayPaymentId method returns void, so nothing will print out. (If it did return a value,
then that would print, which would ruin the format of the XML file.) After running
pmtCheckSubmit, check the gateway payment ID in the EDX_PMT_TRANSACTION table, which
is the concatenation of the individual ID and the trace number that are written into the entry
detail record.
Next, Payment retrieves the original trace number from the return file, and sets it as the gateway
payment ID. In the addenda_return_template.xm, find this code:
<traceNumber pos="80" len="15" fmt="N"
target1='%check.setGatewayPaymentId(txnNumber)%'
target2='%check.setGatewayPaymentId(stringUtil.concat(payerAcctNumber, "_",
txnNumber))%'></traceNumber>
Rename target2= to target, which will reconstruct the gateway payment ID based on the
returned customer account number and trace number. Template variable payerAcctNumber has
been set in the entryDetail_return_template.xml file and txnNumber has been set before this line
in the addenda_return_template.xml file by calling template.putToContext.
Test this setting using a real return file, and verify that the checks status has been updated to
4 in the EDX_PMT_TRANSACTION table.
In the addenda_return_template.xml file, rename target1 to target to enable using trace number
as gateway payment ID:
<traceNumber pos="80" len="15" fmt="N"
target1='%check.setGatewayPaymentId(txnNumber)%'
target2='%check.setGatewayPaymentId(stringUtil.concat(payerAcctNumber, "_",
txnNumber))%'></traceNumber>
262
Queries the database to get a list of check or credit card payments, or both. The query is defined
in arQuery.xml file, which finds all the check and credit card payments where the payee_id
matches the current job DDN, the status is 8 (paid) and flexible_field_3 is N.
The output file name is: ar_yyyyMMddHHmmssSSS.extension, where extension matches the
extension of the template file.
Inside the process() method, if the output is an XML file, then SampleARPaymentIntegrator can
optionally apply an XSLT file against the output file to transform it into another format. The
transformed file name is: ar_trans_yyyyMMddHHmmssSSS.extention, where extension is
defined by the pmtARIntegrator job configuration.
26 3
Before the query is executed in the database, the job invokes the getMap() method of
IARPaymentIntegrator, which gets a list of objects that are used to replace the variables ? defined
in the SQL query of the arQuery.xml file. For more information about IARPaymentIntegrator, see
Accessing Oracle Billing Insight Data Dictionary and Javadoc on page 25 for details on accessing
Oracle Billing Insight Javadoc.
The default IARPaymentIntegrator implementation, SampleARPaymentIntegrator, uses this
arQuery.xml file for database query:
<?xml version="1.0" encoding="UTF-8"?>
<query-spec>
<data_source_type>SQL</data_source_type>
<query name="checkQuery">
<sql-stmt><![CDATA[select payment_id, payer_account_number, amount, pay_date,
status, payee_id from EDX_PMT_TRANSACTION where payee_id = ? and status = 108 and
arFlag = 'N' and PAYMENT_TYPE='check]]></sql-stmt>
<param name="payee_id" type="java.lang.Integer" position="1"/>
<!--param name="last_modify_time" type="java.sql.Timestamp" position="2" /-->
</query>
<query name="creditCardQuery">
<sql-stmt><![CDATA[select payment_id, payer_account_number, amount, pay_date,
status, payee_id from EDX_PMT_TRANSACTION where payee_id = ? and status = 108 and
arFlag = 'N' and PAYMENT_TYPE='ccard']]></sql-stmt>
<param name="payee_id" type="java.lang.Integer" position="1"/>
</query>
<query name="debitCardQuery">
<sql-stmt><![CDATA[select payment_id, payer_account_number, amount, pay_date,
status, payee_id from EDX_PMT_TRANSACTION where payee_id = ? and status = 108 and
arFlag = 'N' and PAYMENT_TYPE='dcard']]></sql-stmt>
<param name="payee_id" type="java.lang.Integer" position="1"/>
</query-spec>
The following queries are defined:
Both creditCardQuery and debitCardQuery get all the successful payments (status=8) of the current
payee (biller or DDN of current job) from the relevant Oracle Billing Insight Payment tables. They
both use arFlag as a flag to prevent a payment from being sent to the A/R job twice. This flag is
initially set to N when the payment is created. After the A/R job runs, the
SampleARPaymentIntegrator changes the flag to Y.
When using arFlag as an A/R flag, you can create an index for it to increase performance.
Each of the queries in the arQuery.xml file has an SQL variable (?) that must be resolved before the
query can be sent to the database. The A/R job calls the getMap() method of IARPaymentIntegrator
to get a Map of query variables, and uses their values to replace the ?s in the query. The names of
the Map elements match those defined in the param tags of the query tags.
264
For example, the default arQuery.xml file has the param tag:
<param name="payee_id" type="java.lang.Integer" position="1"/>
To support this, define a Map element whose name is payee_id and whose value (which must be an
Integer, and contains the DDN reference number) replaces the question mark (?) with payee_id in
the query:
select payment_id, payer_account_number, amount, pay_date, status, payee_id from
EDX_PMT_TRANSACTION where payee_id = ? and status = 108 and arFlag = 'N' and
PAYMENT_TYPE='check'
The query result set will be transferred to a list of checks (ICheck objects) for checkQuery, credit
cards (ICreditCard objects) for creditCardQuery, debit cards(ICreditCard objects) for
debitCardQuery, and then pass that list to the process() method of IARPaymentIntegrator.
CAUTION: The XML Query object supports paging, but do not use this feature for A/R query.
You can modify this file to use different queries.
Change the arQuery.xml file for creditCardQuery. Because you are adding more question marks
to the query, override the getMap() method of the default ARPaymentIntegrator:
package com.edocs.common.ps.ar;
import java.util.*;
import com.edocs.common.payment.util.DateUtil;
public class MyARIntegrator extends ARPaymentIntegrator
{ /**Override this method to populate the SQL variables in arQuery.xml
*/public Map getMap(ARPaymentIntegratorParams payIntegratorParam,
String objectFlag) throws Exception
{ //call super class because need to get the payee_id value
Map map = super.getMap(payIntegratorParam, objectFlag) //no need to check
objectFlag because we actually populate the //same values for both checkQuery and
creditCardQuery Date today = new Date(); today = DateUtil.dayStart(today);//set
26 5
To make the cutoff time configurable instead of fixed at 5:00PM, use the flexible configuration
fields of the A/R job, which are passed in as part of ARPaymentIntegratorParams. For more
information about ARPaymentIntegratorParams, see Accessing Oracle Billing Insight Data
Dictionary and Javadoc on page 25 to access the Javadoc.
Compile your class using the payment_client.jar and payment-1.0-SNAPSHOT.jar that comes
with Oracle Billing Insight, package the compiled class into the payment EAR files, and redeploy
the EAR files.
Log into the Command Center and change the configuration of the A/R job to use the new
implementation of the IARPaymentIntegrator, com.edocs.common.ps.ar.MyARIntegrator.
For more information about using the Command Center, see Administration Guide for Oracle
Billing Insight.
The arFlat_template.txt file generates a sample flat A/R file. If this file includes most of your required
data, but the format is not what you want, then you can edit the template file to generate your own
format. For more information about using the Template class, see Accessing Oracle Billing Insight
Data Dictionary and Javadoc on page 25.
The A/R job using arFlat_template.txt does the following:
Loops through the list of check and credit card payments to print out their details.
Calculates the totals for check debits, check credits, credit card debits and credit card credits
(reversals).
Loops through the list of check and credit card payments to print out their details.
Calculates the totals for check debits, check credits, credit card debits and credit card credits
(reversals).
266
To generate different file formats, change arTransform.xsl. Or, customize the arXML_template.xml
file directly.
Loops through the list of check and credit card payments to print out their details.
Calculates the totals for check debits, check credits, credit card debits and credit card credits
(reversals).
To generate different file formats, change arTransform.xsl. If required, then you can also customize
the arXML_template.xml file.
To rename the files generated by these utilities you must write an implementation of
IARPaymentIntegrator. The following code demonstrates how to rename the XSLT output file to
another name:
import java.io.*;
public class MyARIntegrator extends ARPaymentIntegrator
{protected void getTransformedARFileName(ARPaymentIntegratorParams
payIntegratorParam, ) throws Exception{
return newARName.txt;}}
Reimplement IARPaymentIntegrator
You might want to reimplement the default SampleARPaymentIntegrator if you want to add any of
the following features.
Change the SQL query to add more ? variables and to set values for those variables in the
IARPaymentIntegrator implementation.
Add any additional steps, such as putting more objects into Template context before it is parsed.
Change the result of the template parsing. For example, because of limitations of Template
engine, sometimes unwanted empty new lines are added. Remove those lines.
26 7
Modify the check or credit card objects before they are updated in the database. By default, only
the arFlag field is updated from N to Y. Another alternative is to update the check or credit card
object in the template, and all your updates will be updated in the database.
To add any of the preceding features, you must extend from SampleARPaymentIntegrator and
configure the pmtARIntegrator job to use your implementation.
You can overwrite following methods for your customization:
getARFileName(). Overwrite to change the name of the AR flat file generated from
arFlat_template.txt.
getMap(). Overwrite
A/R Filenames
The generated A/R files have default names of ar_yyyyMMddHHmmssSSS.template_file_ext. In the
files, template_file_ext is the file extension of the template file. The XSLT transformed file has a
default name of ar_trans_yyyyMMddHHmmssSSS.extension. The extension is defined in the
pmtARIntegrator job configuration. You can rename these files to a more meaningful name.
To rename the files, write an implementation of IARPaymentIntegrator. The following code
demonstrates how to rename the XSLT output file to another name:
package com.edocs.common.ps.ar;
import com.edocs.common.payment.tasks.ar.*;
public class MyARIntegrator extends ARPaymentIntegrator
{/**Override this method to give a new name*/protected void
getTransformedARFileName(ARPaymentIntegratorParams payIntegratorParam, ) throws
Exception
{return newARName.txt;}}
268
26 9
Write and then compile your implementation class. You might want to use payment-1.0SNAPSHOT.jar and payment_client.jar from Oracle Billing Insight Payment as part of your class
path.
Create a JAR file called payment_custom.jar, or use the payment_custom.jar from any of the
Oracle Billing Insight Payment EAR files. Place your implementation class into that JAR file using
the JAR command.
Replace all the Payment_custom.jar files under the lib directory of all the deployed Oracle Billing
Insight Payment EAR files with the new payment_custom.jar, using JAR command.
Deploy the new Oracle Billing Insight Payment EAR files on your application server.
Go to Payment Settings in the Command Center, and configure the payment gateways to use the
new class by replacing the default one,
com.edocs.common.payment.cassette.ach.AchCheckSubmitPlugIn, with your new plug-in.
For more information about configuring payment gateways, see Administration Guide for Oracle
Billing Insight.
Run the pmtCheckSubmit job, which will load the new class from payment_custom.jar, because
you added it to the classpath of the MANIFEST file of ejb-payment-chksubmit.jar.
270
Customizing Payment About the APIs for Implementing Custom Payment Cassette
Cartridges
27 1
Customizing Payment About the APIs for Implementing Custom Payment Cassette
Cartridges
All APIs related to the payment cassette and cassette configuration are defined in the
com.edocs.common.api.payment package. Figure 21 shows the contents of the
com.edocs.common.api.payment package.
272
Figure 24 shows the class structure of the Payment Cassette extended parameter.
27 3
defaultAttributeList.add(at);
}}
For more information about updating payment settings in the Command Center, see
Administration Guide for Oracle Billing Insight.
Set the custom config class in the constructor method of the custom payment cassette class so
that the custom config class can be recognized when the payment cassette is created. For
example:
If you want to initialize the payment cassette, and you want to get gateway configuration
parameters in the Oracle Billing Insight database, you can use the following method in
IPaymentConfigManager:
public CassetteConfig getCassetteConfig(String payeeId, PaymentType
paymentType);
The payment gateway returns a response, which you use to update the status of the
ICheckTransaction or ICreditCardTransaction object as follows:
274
If a payment transaction processes successfully, then set the status to Settled-Paid by calling
one of the following objects:
ICreditCardTransaction.setStatus(PaymentStatus.settled)
ICheckTransaction.setStatus(PaymentStatus.paid)
If a system or network error occurs, then set the status to Failed by calling one of the
following objects:
ICreditCardTransaction.setStaus(PaymentStatus.failed)
ICheckTransaction.setStatus(PaymentStatus.failed)
If the credit or debit card transaction fails authorization, then set the status to FailedAuthorize by calling the ICreditCardTransaction.setStatus(PaymentStatus.failed_authorize)
object.
For the status types supported by Oracle Billing Insight, refer to the code in the
com.edocs.common.api.payment.PaymentStatus object.
Refer to the code in the ICreditCardtransaction or ICheckTransaction objects for setting status
and transaction information. You can set the status or other transaction information from the
response to the ICreditCardTransaction and ICheckTransaction objects for your gateway
specifications.
The CheckSubmit and CreditCardSubmit jobs update the Oracle Billing Insight database to reflect
the result of processing by the payment cassette.
You must process the list of ICreditCardtransaction or ICheckTransaction objects from the
CheckSubmit or CreditCardSubmit job:
Return the processed transaction list back to the CheckSubmit or CreditCardSubmit job for the
Oracle Billing Insight database update.
If your payment cassette supports the payment account enrollment process, then implement the
IEnrollmentCassette interface to enable the enrollment feature.
Populate the payment_gateway_configure table to inform Oracle Billing Insight about your
payment cassette implementation class. For example, if your cartridge class name is
com.edocs.common.payment.cassette.creditcard.MyCreditCardCassette, and you want to name
it customCCardCassette, then use the following command:
Insert into payment_gateway_configure(GATEWAY, PAYMENT_TYPE, CARTRIDGE_CLASS)
values ('customCCardCassette', 'ccard',
'com.edocs.common.payment.cassette.creditcard.MyCreditCardCassette')
A fixed amount.
27 5
Single Transaction. In the single transaction model, you configure one merchant account,
which is owned by the merchant. Oracle Billing Insight invoices or automatically debits the
merchant monthly for the total fee processed, and the main payment and convenience fee are
deposited into the merchants bank account as one total amount.
The cardholder sees one transaction on his or her statement representing the total amount
including the convenience fee. The main payment amount and the fee appear as a single entry
on the payment activity report.
Dual Transaction. In the dual transaction model, you configure separate merchant accounts.
One account is owned by the merchant and the other is owned by the hosting service provider.
The main payment amount is deposited into merchants bank account and the convenience fee
is deposited into service provider account.
Two transactions are processed, and once both transactions have processed successfully, the
cardholder sees two transactions on his or her statement. The fee transaction processes first.
The main payment amount and the fee appear as a single entry on the payment activity report,
with the total amount and fee in separate columns.
Multiple payee accounts are also supported for other business needs. For example, the main payment
could go to different accounts based on business logic, or you could direct business and consumer
payments to different accounts. You can configure the transaction model and convenience fee type
at the payment method level using the custom IGatewayAccountPlugin plug-in.
You can use the EDX_PMT_CONV_FEE_TYPES table to store the convenience types supported by your
organization. Identify the convenience type you want to use for each payment method in the
EDX_PMT_PAYMENT_METHOD table.
Oracle Billing Insight does not support convenience fees for ACH payments. In the account type
database table, Oracle Billing Insight preconfigures the convenience fee type for ACH accounts as
None.
Create a custom class for calculating convenience fees in accordance with your organizations
business rules if the default implementation does not meet your requirements. The default
implementation calculates the convenience fee for each type of payment method based on the
data in EDX_PMT_PAYMENT_METHOD table only.
276
In the Command Center, specify the following values in the payment gateway configuration to
enable convenience fee support for credit cards in the Self-Service and the Agent applications.
For details on how to update your payment gateway configuration, see Administration Guide for
Oracle Billing Insight.
Convenience Fee
Parameters for the Credit
Card Payment Gateway
Value
Description
If you are implementing more than two billing accounts for use with convenience fees, customize
the IGatewayAccountPlugin with the logic that implements your chosen payment model and any
business logic based on convenience fee type.
The default implementation calculates the convenience fee for each type of payment method
based on the data in the EDX_PMT_PAYMENT_METHOD table only.
In the Command Center, specify the custom plug-in name in the Gateway Account Plugin
Implementation parameter on the Global Configuration page.
All ACH accounts are at the same bank, which means they have the same immediate origination
and immediate destination but different company name and company ID.
The business logic elements required to route the payment transaction to one ACH account
compared with another is available or can be made available in the Web application and in the
execution context of an Oracle Billing Insight Payment plug-in.
27 7
Oracle Billing Insight also assumes there are multiple ACH accounts and there is one DDN for this
biller. This DDN is the real DDN.
NOTE: To implement multiple payees for use with convenience fees, see Configuring Convenience
Fee Payments on page 275.
Create a real DDN to use to configure payment settings for one of the ACH accounts.
Create N 1 virtual DDNs, where each of their payment settings is configured to one of the N
1 ACH accounts, respectively. Make sure the immediate origination and immediate destination
are the same for all DDNs, but their company name and company ID are different.
NOTE: No load jobs run against these virtual DDNs. They are used solely for payment purposes.
Customize the UI with business logic to determine which DDN (effectively, ACH account) the
payment transaction is to be entered against and set the payee ID of the payment to that DDN.
Configure a single pmtCheckSubmit job under the real DDN and configure it to pull payments
from the all the N 1 virtual DDNs in addition to the real DDN. The payments from the same DDN
will be under same batch.
Because return files include returns from all DDNs and the pmtCheckUpdate job can process
these returns, create one pmtCheckUpdate job under the real DDN to process all the returned
transactions (even though the returns could belong to other virtual DDNs).
A single recurring payment job configured with the real DDN is required. A Recurring Payment
plug-in is required to execute the same logic as in scheduled payment. That is, apply the business
rules to determine which DDN (effectively, ACH account) the recurring payment must be applied
against. Override the preSchedulePayment() method of the plug-in for this purpose.
In the Payment pmtPaymentReminder Job settings, configure six payment reminders, one for
each DDN.
Run the pmtARIntegrator Job. The AR_Query.xml file is an XML definition of the database query
that queries the Oracle Billing Insight payment tables to build the default A/R file. Customize the
default query to include the virtual DDNs. Because the query uses the DDN reference numbers,
you must pass that information into the query using one of the following methods:
Directly hard code the DDN reference numbers in the query, though this is risky in the sense
that if the DDN is recreated, then your query will fail.
Extend the SampleARIntegrator and overwrite the getMap() method and use
com.edocs.payment.util.DDNUtil to find out the DDN reference number of a DDN, then set it
as a ? parameter used by the query. In this solution, the DDN names are hard coded but
not the DDN reference numbers.
Pass in the names of virtual DDNs as a flexible job configuration parameter from the job UI.
The getMap() method can then parse the parameter to get the list of virtual DDNs. This
method is recommended.
If you are using the ACH prenote, then you must create pmtSubmitEnroll, pmtConfirmEnroll, and
pmtNotifyEnroll jobs for each virtual DDN, which means you will get N prenote ACH files. The
pmtSubmitEnroll job cannot aggregate prenotes from different DDNs into one.
278
BillDepot
CustomRecurringPaymentPlugin
ICreditCardPlugin
DummyUserAccountAccessor
IPayment
IPaymentAccountService
IPaymentService
IRecurringPaymentService
Payment
PaymentAccountService
PaymentConfigurationBean
PaymentService
RecurringPaymentService
IConvenienceFeeConfig
IGatewayAccountPlugin
ITopUpPaymentPlugin
Check cassette class. For the countrys specific check gateway standard, including
properties for communicating with the gateway, replace the default implementation in
\com\edocs\common\payment\cassette\bank\ach\ach_BankCassette.class.
ACH check class. For extending the standard Check class, including properties coming from
different check gateway standards. This class is used to generate files sent to the check
gateway for authentication or check transaction purposes. Replace the default
implementation in
\com\edocs\common\payment\cassette\bank\ach\core\AchCheckTransaction.class.
27 9
Returned check class. For processing the returned check file for the gateway. Replace the
default implementation in
\com\edocs\common\payment\cassette\bank\ach\core\AchReturnedCheck.class.
Replace the default files with your custom class files in the payment_custom.jar file in the
following directories. For Windows, change the slashes and root as necessary.
EDX_HOME\J2EEApps\commandcenter\weblogic\command-center-weblogic7.0.ear\lib\payment_custom.jar
EDX_HOME\J2EEApps\selfservice\weblogic\selfservice-weblogic7.0.ear\lib\payment_custom.jar
EDX_HOME\J2EEApps\csr\weblogic\csr-app-7.0.ear\lib\payment_custom.jar
EDX_HOME\payment\lib\payment_custom.jar
Implement a custom RoutingNumber.class. This class is used to validate routing numbers when
creating a new check account. This file is located in the following directory. For Windows, change
the slashes and root as necessary.
EDX_HOME/J2EEApps/selfservice/weblogic/selfservice-weblogic-7.0.ear/selfserviceweb-1.0-SNAPSHOT.war/WEB-INF/lib/app-common-1.0-SNAPSHOT.jar/com/edocs/application/
common/payment/util/RoutingNumber.class
In the validation-payment.xml file, edit the validation rules for the routingNumber field property.
This file is located in the following directory:
EDX_HOME/J2EEApps/selfservice/weblogic/selfservice-weblogic-7.0.ear/selfserviceweb-1.0-SNAPSHOT.war/WEB-INF/classes/validators.xml
Customize your templates files for generating the files sent to the gateway or for parsing the
returned file from the gateway.
280
Open the paymentService.xma.xml file in the following directory.In the path, EDX_HOME is the
directory where you installed Oracle Billing Insight.
UNIX. EDX_HOME\xma\config\modules\services
Windows. EDX_HOME/xma/config/modules/services
28 1
Customizing Payment Updating the Back-End Billing System With a Top-Up Payment
anonymousPmtVerifyFlag = pmtService.verifyAnonymousPayment(pmtFormbean);
Open the services.xma.xml file, located in the following directory. In the path, EDX_HOME is the
directory where you installed Oracle Billing Insight.
UNIX. EDX_HOME\xma\config\modules\services
Windows. EDX_HOME/xma/config/modules/services
Add your implementation class for ITopUpPaymentPlugin as a JavaBean definition, such as:
<bean id="customerTopUpPaymentPlugin" class="com.edocs.common.payment.plugin.
CustomerTopUpPaymentPlugin " scope="singleton"></bean>
Add the implemented class into the payment_custom.jar file, located in the following directories.
For Windows, change the slashes and root as necessary.
EDX_HOME\J2EEApps\commandcenter\weblogic\command-center-weblogic-7.0.ear\lib
EDX_HOME\J2EEApps\selfservice\weblogic\selfservice-weblogic-7.0.ear\lib
EDX_HOME\J2EEApps\csr\weblogic\csr-app-7.0.ear\lib
EDX_HOME\payment\lib
282
10 Customizing
the Payment
Consolidator Integration
Module
This chapter covers information about how to customize the payment consolidator integration
module for your implementation. It includes the following topics:
28 3
Consumer users register with the payment consolidator, and the consolidator sends the
enrollment data to the billing system.
The biller validates the registration requests and responds to the consolidator, which sends a
response acknowledgement to the biller and to Oracle Billing Insight.
In the Command Center, the PCAccountEnrollment job is scheduled to run. The job uses an XML
template which you have customized for use with the particular consolidator to read the
consolidators enrollment response acknowledgement file and map it to the corresponding Java
objects in Oracle Billing Insight. The job then processes this input and stores the enrollment
information in the relevant database tables in Oracle Billing Insight.
The Account Enrollment job also produces its own enrollment response file which has the details
on the accounts that were successfully processed. The format of the Oracle Billing Insight
enrollment response file is also controlled using an output template that you customize. The
output template is also an XML file which has instructions on constructing and formatting the
output file.
The PCBillSummary job is scheduled to run in the Command Center, and generates a file with the
bill summary information for the enrolled users. The output content and file format is dictated
by the template associated with the job.
The payment consolidator processes the Bill Summary file and returns an acknowledgement file
to the biller.
284
PCAccountEnrollment Job. The Account Enrollment job processes the Enrollment Data File
provided by a payment consolidator to bring account information into Oracle Billing Insight for
consumer customers who successfully enrolled or unenrolled to use a payment consolidator, or
who changed their account information. The PCAccountEnrollment job can produce an enrollment
response file with details on the accounts that were processed successfully.
PCBillSummary Job. The Bill Summary job generates a file with bill summary information for
consumer users who have successfully enrolled to use a payment consolidator with a particular
biller. This file is provided to the payment consolidator.
28 5
The log files also capture information about individual records that were rejected. Table 79 describes
the content written to the log files based on the payment consolidator job results.
Table 79.
Job Result
Description
Successful
Partial Failure
286
Table 79.
Job Result
Description
All Rejected
No Statement
For details on configuring the log file location for the payment consolidator jobs, see Implementing
Payment Consolidator Plug-Ins on page 308.
Input File
Output File
PCAccountEnrollment
PCBillSummary
PCBillSummary
Acknowledgement
For additional details about what these jobs do and how to configure and run the jobs, see
Administration Guide for Oracle Billing Insight.
28 7
Configure the biller, payment consolidator, and the payment consolidation jobs in the Command
Center. For details, see Administration Guide for Oracle Billing Insight.
A file structure XML template. The file structured XML template defines the structure of the
individual records in the input or output file and maps to each of the individual record XML
template files designed for each record.
288
An XML template file for each record type in the file. Custom template XML files are
required for each type of record, including the file header, file tail, detail record, and batch header
and tail records if supported by the consolidator. Record XML template files are used to parse
input file records or generate output file records.
Review the sample XML templates provided with Oracle Billing Insight to determine which ones
most closely match the input and output data files required by your payment consolidator. For
information about the sample template files provided with Oracle Billing Insight, see Sample
Payment Consolidation Template Files on page 289. If your consolidator supports batch
processing, then use the batch input file templates.
The default input and output data file formats that the API is preconfigured to use are described
in Default File Formats for Payment Consolidation on page 312. For samples of how a payment
consolidators data file elements can map to Oracle Billing Insight, see the following topics:
Using the closest matching set of files (or copies), edit the content for your consolidators
specifications. See to the following topics as needed for information about the content and format
of template XML files:
Place the templates in the template directory for the payment consolidator that you configured
for the consolidator in the Command Center.
28 9
This set of sample templates contain examples for a consolidator that does not support batch
processing. It comes with a sample cartridge property file called
CartridgeProperty_sample1.properties.
AccountEnrollment_2060_sample1.xml
AccountEnrollment_2060_fileHeader_template.xml
AccountEnrollment_2060_entryDetail_template.xml
AccountEnrollment_2060_fileTailer_template.xml
BillSummary_sample1.xml
BillSummary_fileHeader_template.xml
BillSummary_entryDetail_template.xml
BillSummary_fileTailer_template.xml
BillSummary_ack_sample1.xml
BillSummary_ack_fileHeader_template.xml
BillSummary_ack_entryDetail_template.xml
BillSummary_ack_fileTailer_template.xml
290
AccountEnrollment_sample2.xml
AccountEnrollment_fileHeader_template.xml
AccountEnrollment_batchHeader_template.xml
AccountEnrollment_entryDetail_template.xml
AccountEnrollment_batchTailer_template.xml
AccountEnrollment_fileTailer_template.xml
BillSummary_sample2.xml
BillSummary_fileHeader_template.xml
BillSummary_batchHeader_template.xml
BillSummary_entryDetail_template.xml
BillSummary_batchControl_template.xml
BillSummary_fileControl_template.xml
BillSummary_ack_sample2.xml
BillSummary_ack_fileHeader_template.xml
BillSummary_ack_batchHeader_template.xml
BillSummary_ack_entryDetail_template.xml
BillSummary_ack_batchControl_template.xml
BillSummary_ack_fileControl_template.xml
29 1
A statement using the INCLUDE operator to map each record template XML file. The
<INCLUDE> operator identifies the individual template files required to process the particular
record types for the consolidators input file. For example, the sample file structure template
AccountEnrollment_2060_sample1.xml includes the following record templates:
The XML Delimiter. Use the dollar sign ($) as the delimiter to distinguish between the file
structure definition XML file and each record template XML file, as well as the cartridge property
file.
NOTE: In the record XML template, the delimiter is a percentage sign (%).
The Cartridge Property Statement. An XML statement for specifying the detail record
implementation is required in the file structure XML (except for the bill summary file), for
example:
292
$cartridgeProperty.setProperty("com.edocs.common.pc.detailrecord_class",
"com.edocs.common.pc.core.EnrollmentDetailRecord")$
The name of the java.util.Properties instance is cartridgeProperty, which is preset in the template
context. Its method setProperty is invoked to add the value
com.edocs.common.pc.cord.EnrollmentDetailRecord to the key
com.edocs.common.pc.detailrecord_class. The value of this key is used to parse the detail
record, and represents the full path of the detail record implementation class. The
cartridgeProperty contains a set of key-value pairs that are used to parse an input file or generate
an output file. The preconfigured cartridge properties are defined in a properties file located in
the same directory as the sample files.
Oracle Billing Insight provides a default detail record implementation for the enrollment detail
and bill summary records:
The default implementation class is designed with a complete collection of the fields required by
most consolidators for the account enrollment detail record and the bill summary record. It is
recommended to use the default implementation. Flexible fields are also reserved for your
customization.
If you use a customized implementation of a detail record, then you must replace the key value
of "com.edocs.common.pc.detailrecord_class" in file structure XML. For example, if the
customized class for enrollment is com.businesshome.detailrecord.enrollment, then the required
statement in the file structure XML file is:
$cartridgeProperty.setProperty("com.edocs.common.pc.detailrecord_class", "
com.businesshome.detailrecord.enrollment ")$
The customized class must implement interface "com.edocs.common.api.pc.IDetailRecord" and
extend the parent class com.edocs.common.pc.core.BaseRecord.
File header record. Marks the beginning of the file and provides the file creation and
identification information.
File tail record. Marks the end of the file and always contains statistical information such as
how many types of records are in the file and the total number of each.
29 3
Detail record. Detail records appear between the file header and tail records and contain
information on each account, depending on the purpose of the file. It could be account
enrollment, account deactivation, account update or bill summary.
(If supported) Batch header and tail records. If the payment consolidator supports batch
processing, then the detail records in the input file will be grouped by batch record. Batch header
is stored at the beginning of a batch and the tail record goes at the end of a batch and enclose
detail records.
Figure 27 shows the common file layout, consisting of a file header, file tail, and detail records.
294
Figure 28 shows the common file layout for a payment consolidator that uses batch processing.
Figure 28. Common File Layout for Payment Consolidation With Batch Processing
29 5
A root element name. Use the record prefix plus your consolidators record type code as the
root element name, as shown in the following table.
Record Type
Record Prefix
Example of a
Consolidators
Record Type
Code
File Header
PC_FileHeader_
0000
PC_FileHeader_0000
Batch Header
PC_BatchHeader_
1111
PC_BatchHeader_1111
Detail
PC_Detail_
2050
PC_Detail_2050
Batch Tailer
PC_BatchTailer_
2222
PC_BatchTailer_2222
File Tailer
PC_FileTailer_
9999
PC_FileTailer_9999
The <record> element. Enclose all data element XML tags between <record> and </record>,
for example:
<PC_Detail_2050>
<record><recordType pos="1" len="1" required = "Y"
target='%detailRecord.setRecordType(?)%'></recordType>
<billerID pos="2" len="16" fmt="AN" required = "N"
target='%detailRecord.setBillerExternalID(?)%'></billerID></record>
</PC_Detail_2050>
A data element for the record type. The record XML template must include a subelement
called recordType within the <record> element.
Delimiters. The template engine only executes template statements that are enclosed in a pair
of delimiters. In the record template XML file the delimiter is a percentage sign (%).
NOTE: In the file structure XML template, the delimiter is a dollar sign ($).
Record element tags. For input files, each template XML file must specify:
Where the data text is located in the input file using the pos and len attributes.
(Optional) How to transform the data by specifying fmt and fract attributes.
Which class member to use for storing the data field using the target attributes.
When parsing an input data file such as the account enrollment file, the job reads all data
elements of a line in the input file into certain class members according to the format specified
by the template XML tags. The generic format of a template XML tag is:
296
Template Attributes
Attributes in the template XML files describe the format of each type of record, such as position,
length and so on. Each element in a template file corresponds with one of the payment consolidators
data elements. For example, the element <recordType .. /> represents the record type and the
element <ConsolidatorID .. /> represents the consolidator ID. The name of element can have any
value but it should be meaningful so that it can be easily understood.
Table 81 shows the attribute names you can use in the template XML files.
Table 81.
Attribute
Name
Value
Description
pos
int
len
int
fmt
N: number
AN: String
date: dateFormat
timestamp: timestampFormattime:
timeFormat
fract
A digital number.
29 7
Table 81.
Attribute
Name
Value
Description
required
Y - Yes or N - No
target
Template Variables
The template engine hosts a pool of objects in its context in the form of a hash table. You can refer
to the variables in that context by their names, between a pair of percentage sign (%) delimiters.
The delimiter character distinguishes between common text messages and special placeholders,
which are processed by the template engine to replace the values of the Java objects. For example,
there's an IFileRecord object with the name fileHeaderRecord in the template context, and you can
refer to the object using %fileRecord%.
To escape %, use %%. For example, %%40 means %40.
Oracle Billing Insight provides some preconfigured variables you can use in the XML template files.
Some variables can be used in the record template files only. See Table 83 on page 299 for a list.
298
You can use the variables described in Table 82 in either file structured or record XML template files.
Table 82.
Name
Type
Description
cartridgeProperty
java.util.Properties
template
com.edocs.payment.util.
template
templateDir
java.lang.String
dateUtil
com.edocs.common.pc.util.
DateUtil
stringUtil
com.edocs.payment.util.
StringUtil
decimalUtil
com.edocs.payment.util.
DecimalUtil
Table 83 shows the variables that you can use in record XML templates only.
Table 83.
Record
Template
Variable Name
Type
Description
FileHeader
fileHeaderRecord
com.edocs.common.pc.
core.FileRecord
BatchHeader
batchHeaderRecord
com.edocs.common.pc.
core.BatchRecord
Detail
detailRecord
com.edocs.common.pc.
core.DetailRecord
29 9
Table 83.
Record
Template
Variable Name
Type
Description
Detail
flexibleFields
Java.util.HashMap
BatchTailer
batchTailerRecord
com.edocs.common.pc.
core.BatchRecord
fileTailerRecord
com.edocs.common.pc.
core.FileRecord
FileTailer
300
Logic Operators
The Payment Consolidator Integration module supports the simple logic operators shown in Table 84.
You must enclose operators between percentage signs (%).
Table 84.
Operator
Function
Usage
Parameters
Example
FOREACH
Performs a
loop
operation.
%<FOREACH
var in
list>%
%<FOREACH
fileRecObj in
fileRecordList>%
%</FOREACH>%
IF
Performs a
conditional
operation.
%</IF>%
%<IF outputFlag>%
The value of flag is
true
%</IF>%
If the value of
outputFlag is true,
then the following
statement is written
to the file: The value
of flag is true.
30 1
Table 84.
Operator
Function
Usage
Parameters
Example
INCLUDE
Includes
other
template
files in the
current
template
file.
%<INCLUDE>%
None
%<INCLUDE>%
Adds
comments to
the template
file.
%<*>%
<*>
D:\template\templat
eB.xml
%</
INCLUDE>%
"%</INCLUDE>%
The context of the
templateB.xml file is
included in the parent
template.
None
%</ *>%
%<*>%
This is only the
comments here.
%</*>%
The following
statement is written
to the template file:
This is only the
comments here.
302
In addition to preconfigured variables, you can put the Java object into context by writing:
%template.putToContext(String, Object)%,
For example:
%template.putToContext("buf", new java.lang.StringBuffer())%
This puts a new StringBuffer object called buf into the template context. You can then refer to this
object by its name: %buf.append("abc").
For input template files, add the new Java object as follows in the file structure definition XML
file:
$template.putToContext(String, Object)$
For output template files, add the new Java object as follows:
Math operations are not allowed. You must call a Java method for math operations.
Concatenate method calls, such as %variable.method().method() %, are not allowed. You must
write your own Java method to do method concatenation.
30 3
Description
com.edocs.common.pc.actiontype.enroll
com.edocs.common.pc.actiontype.change
com.edocs.common.pc.actiontype.unenroll
com.edocs.common.pc.statuscode.filerecord.
success
com.edocs.common.pc.statuscode.
detailrecord.success
com.edocs.common.pc.statuscode.
biller_not_exist
com.edocs.common.pc.statusmessage.
biller_not_exist
com.edocs.common.pc.statuscode.
consolidator_not_exist
com.edocs.common.pc.statusmessage.
consolidator_not_exist
com.edocs.common.pc.statuscode.
billingsystemid_not_exist
com.edocs.common.pc.statusmessage.
billingsystemid_not_exist
304
Table 85.
Description
com.edocs.common.pc.statuscode.
account_not_exist
com.edocs.common.pc.statusmessage.
account_not_exist
com.edocs.common.pc.statuscode.
account_not_activated
com.edocs.common.pc.statusmessage.
account_not_activated
com.edocs.common.pc.statuscode.
account_already_exist
com.edocs.common.pc.statusmessage.
account_already_exist
com.edocs.common.pc.statuscode.
mandatory_filed_missing
com.edocs.common.pc.statusmessage.
mandatory_filed_missing
com.edocs.common.pc.initial_status.
biller_enrollment
com.edocs.common.pc.initial_status.
consolidator_enrollment
com.edocs.common.pc.end_of_file_symbol
com.edocs.common.pc.
billing_account_creator
30 5
Log File Path. The directory where the log files generated by the payment consolidator jobs are
stored. The default log file location is the EDX_HOME\Data\applicationName\jobName directory
(or the EDX_HOME/Data/applicationName/jobName directory in Windows).
Batch Size. The total number of records within a batch when the PCBillSummary job generates
the bill summary file.
Statement Period. You can change the statement period parameter name used in the bill detail
URL for the Bill Summary. For details on customizing the bill detail URL, see Setting Payment
Consolidation Configuration Parameters on page 306.
To specify a log file path for each of the payment consolidator tasks, edit the configBean
section for the logFilePath property.
To specify batch size for the PCBillSummary job, edit the billSummaryCartridgeImp bean
section and specify a value for the batchSize property.
306
Let users view the bill detail without logging into Oracle Billing Insight.
To let customers view the bill detail without logging in to Oracle Billing Insight
Use the two flexible fields, token1 and token2, provided with the bill summary record. These
fields are the unique IDs for each bill summary and are stored in the
EDX_PC_BILLSUMMARY_LOG file for later user authentication.
The fields can be accessed using com.edocs.common.api.pc.IBillSummaryRecord. You can set it
at the implemention of
com.edocs.common.api.pc.ICartridgePlugin.preProcessDetailRecord(IDetailRecord
record). The field values are null by default.
Edit the XML in the billSummaryCartridgeImp bean section for the statementPeriodParamName
property.
30 7
IBillingSystemIDPlugin
ICartridgePlugin
308
Set the Billing System ID Plug-In parameter in the billers configuration in the Command Center.
For details on configuring a biller, see Administration Guide for Oracle Billing Insight.
30 9
310
Set the Cartridge Plug-in parameter for the particular file type in the payment consolidators
configuration in the Command Center. For details on configuring a payment consolidator, see
Administration Guide for Oracle Billing Insight.
API
Description
com.edocs.common.api.pc.
IFileRecord
This API represents the file record and contains the header and
tail information.
The default implementation is:
com.edocs.common.pc.core.FileRecord
com.edocs.common.api.pc.
IBatchRecord
This API represents the batch record and contains the header and
tail information. For each batch record, it has a reference to
IFileRecord.
The default implementation is:
com.edocs.common.pc.core.BatchRecord
com.edocs.common.api.pc.
IDetailRecord
This API represents the detail record and is the base interface of
IBillSummaryRecord and IEnrollmentRecord. For each detail
record, it has a reference to IFileRecord and IBatchRecord.
The default implementation is:
com.edocs.common.pc.core.DetailRecord
31 1
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 86.
API
Description
com.edocs.common.api.pc.
IBillSummaryRecord
com.edocs.common.api.pc.
IEnrollmentRecord
312
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 87 shows the header data elements in default format of the account enrollment input file.
Table 87.
Header Data Elements for the Default Account Enrollment Input File
Data Element
Length
Type
Required
by the
API
Num
No
Sender ID
32
Varchar
Yes
Receiver ID
32
Varchar
Yes
Sender Name
32
Varchar
No
File ID
Varchar
Yes
Date
Yes
12
Time
Yes
Varchar
No
Status Code
Varchar
No
Status Message
80
Varchar
No
Custom Field 1
32
Varchar
No
Custom Field 2
32
Varchar
No
Description
31 3
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 88 shows the batch header data elements in the default format of the account enrollment input
file.
Table 88.
Batch Header Data Elements for the Default Account Enrollment Input File
Data Element
Length
Type
Required
by the
API
Num
No
Biller ID
32
Varchar
No
Biller Name
32
Varchar
No
Batch ID
Num
No
Custom Field 1
32
Varchar
No
Custom Field 2
32
Varchar
No
Description
Table 89 shows the body detail record data elements in the default format of the account enrollment
input file.
Table 89.
Body Detail Data Elements for the Default Account Enrollment Input File
Data Element
Length
Type
Required
by the
API
Num
No
Action Type
10
Varchar
Yes
Action Description
23
Varchar
No
Sponsor ID
32
Varchar
No
Consolidator User ID
32
Varchar
No
Biller User ID
32
Varchar
No
Consolidator ID
32
Varchar
Yes
Consolidator
Transaction ID
32
Varchar
No
Biller Transaction ID
32
Varchar
No
314
Description
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 89.
Body Detail Data Elements for the Default Account Enrollment Input File
Data Element
Length
Type
Required
by the
API
Biller ID
32
Varchar
Yes
Biller Name
32
Varchar
No
32
Varchar
No
32
Varchar
No
Biller City
32
Varchar
No
Biller State
Varchar
No
Biller ZipCode
Varchar
No
Biller Zip + 4
Varchar
No
Billing System ID
32
Varchar
No
Account Number
32
Varchar
Yes
32
Varchar
No
Varchar
No
User Type
Char
No
Business Name
40
Varchar
No
32
Varchar
No
32
Varchar
No
32
Varchar
No
100
Varchar
No
40
Varchar
No
Description
31 5
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 89.
Body Detail Data Elements for the Default Account Enrollment Input File
Data Element
Length
Type
Required
by the
API
40
Varchar
No
40
Varchar
No
User City
32
Varchar
No
User State
Varchar
No
User Zip 5
Varchar
No
User Zip 4
Varchar
No
User Zip 2
Varchar
No
Varchar
No
11
Varchar
No
30
Varchar
No
32
Varchar
No
32
Varchar
No
Bill Payment
Activated
Char
No
Service Verification
Field 1
32
Varchar
No
Service Verification
Field 2
32
Varchar
No
Service Verification
Field 3
32
Varchar
No
Service Verification
Field 4
32
Varchar
No
Service Verification
Field 5
32
Varchar
No
Service Verification
Field 6
32
Varchar
No
316
Description
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 89.
Body Detail Data Elements for the Default Account Enrollment Input File
Data Element
Length
Type
Required
by the
API
Alternate Biller
Account Number
32
Varchar
Yes
32
Varchar
No
Server Transaction
Timestamp
20
Varchar
No
Char
No
Char
No
Char
No
Paper Suppression
Date
20
Date
Time
No
Incentive Message ID
Varchar
No
Bill Remittance
Account Number
32
Varchar
No
Consolidator
Enrollment Status
Char
No
Biller Enrollment
Status
Char
No
Description
31 7
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 89.
Body Detail Data Elements for the Default Account Enrollment Input File
Data Element
Length
Type
Required
by the
API
Deactivation Source
Char
No
20
Date
Time
No
Response Code
Char
No
Rejected Text
255
Varchar
No
Status Code
Varchar
No
Status Message
80
Varchar
No
Custom Field 1
255
Varchar
No
Custom Field 2
255
Varchar
No
Custom Field 3
255
Varchar
No
Custom Field 4
255
Varchar
No
Custom Field 5
1024
Varchar
No
Custom Field 6
Char
No
Custom Field 7
Char
No
Custom Field 8
20
Date
Time
No
Custom Field 9
20
Date
Time
No
Description
318
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 90 shows the header data elements in the default format of the enrollment acknowledgement
output file.
Table 90.
Data Element
Length
Type
Required
by the
API
Num
No
Sender ID
32
Varchar
Yes
Receiver ID
32
Varchar
Yes
Sender Name
32
Varchar
No
Status Code
Varchar
No
Status Message
80
Varchar
No
Custom Field 1
32
Varchar
No
Custom Field 2
32
Varchar
No
Description
Table 91 shows the batch header data elements in the default format of the enrollment
acknowledgement output file.
Table 91.
Data Element
Length
Type
Required
by the
API
Num
No
Biller ID
32
Varchar
No
Biller Name
32
Varchar
No
Batch ID
Num
No
Custom Field 1
32
Varchar
No
Custom Field 2
32
Varchar
No
Description
31 9
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 92 shows the body detail data elements in the default format of the enrollment
acknowledgement output file.
Table 92.
Data Element
Length
Type
Require
d by the
API
Num
No
Action Type
10
Varchar
No
Sponsor ID
32
Varchar
No
Service User ID
32
Varchar
No
Consolidator ID
32
Varchar
Yes
Biller ID
32
Varchar
Yes
Account Number
32
Varchar
Yes
Bill Processing
Center ID
Varchar
No
Status Code
Varchar
No
Status Message
80
Varchar
No
Custom Field 1
255
Varchar
No
Custom Field 2
255
Varchar
No
Custom Field 3
255
Varchar
No
Custom Field 4
255
Varchar
No
Custom Field 5
1024
Varchar
No
Custom Field 6
Char
No
Custom Field 7
Char
No
Custom Field 8
20
Date
Time
No
Custom Field 9
20
Date
Time
No
320
Description
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
File Header Data Elements for the Bill Summary Output File
Data Element
Length
Type
Required
by the API
Num
No
Sender ID
32
Varchar
Yes
Receiver ID
32
Varchar
Yes
Sender Name
32
Varchar
Yes
File ID
32
Varchar
Yes
Date
Yes
12
Time
Yes
Varchar
No
Custom Field 1
32
Varchar
No
Custom Field 2
32
Varchar
No
End of Record
None
Yes for
some
consolidato
rs
Description
Table 94 shows the data elements in the batch header record for the Bill Summary file.
Table 94.
Batch Header Data Elements for the Bill Summary Output File
Data Element
Length
Type
Require
d by the
API
Num
No
Biller ID
32
Varchar
No
Description
32 1
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 94.
Batch Header Data Elements for the Bill Summary Output File
Data Element
Length
Type
Require
d by the
API
Biller Name
32
Varchar
No
Batch ID
Num
No
Custom Field 1
32
Varchar
No
Custom Field 2
32
Varchar
No
Description
Table 95 shows the body detail data elements in the default format of the bill summary output file.
Table 95.
Body Detail Data Elements for the Bill Summary Output File
Data Element
Length
Type
Required
by the
API
Num
No
Action Type
10
Varchar
No
Description
Consolidator ID
32
Varchar
Yes
Varchar
No
Biller ID
32
Varchar
Yes
Billing System ID
32
Varchar
No
32
Varchar
Yes
322
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 95.
Body Detail Data Elements for the Bill Summary Output File
Data Element
Length
Type
Required
by the
API
Alternate Biller
Account Number
32
Varchar
Yes
Biller Transaction ID
32
Varchar
No
Biller User ID
32
Varchar
No
Biller E-Bill ID
36
Varchar
Yes
32
Varchar
No
32
Varchar
No
Payment Received
20
Numeric
Yes
Amount Due
20
Numeric
Yes
Balance Amount
20
Numeric
No
20
Numeric
No
Previous Balance
Amount
20
Numeric
No
20
Varchar
No
Statement Date
20
Datetime
Yes
Description
32 3
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 95.
Body Detail Data Elements for the Bill Summary Output File
Data Element
Length
Type
Required
by the
API
20
Datetime
No
20
Datetime
No
Char
No
20
Datetime
No
20
Datetime
No
20
Datetime
No
1024
Varchar
No
20
Datetime
No
1024
Varchar
No
Description
324
1024
Varchar
No
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 95.
Body Detail Data Elements for the Bill Summary Output File
Data Element
Length
Type
Required
by the
API
Teaser Ad Text
80
Varchar
No
1024
Varchar
No
80
Varchar
No
Char
No
Description
1024
Varchar
No
E-Bill Category
Varchar
No
Status Code
Varchar
No
Status Message
80
Varchar
No
Custom Field 1
255
Varchar
No
Custom Field 2
255
Varchar
No
Custom Field 3
255
Varchar
No
Custom Field 4
255
Varchar
No
Custom Field 5
1024
Varchar
No
32 5
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 95.
Body Detail Data Elements for the Bill Summary Output File
Data Element
Length
Type
Required
by the
API
Custom Field 6
Char
No
Custom Field 7
Char
No
Custom Field 8
20
String
No
Custom Field 9
20
String
No
End of Record
None
No
Description
Table 96 shows the batch control data elements in the default format of the bill summary output file.
Table 96.
Batch Control Data Elements for the Bill Summary Output File
Data Element
Length
Type
Required
by the
API
Varchar
No
Num
No
Batch ID
Num
No
Description
Table 97 shows the file control (trailer) data elements in the default format of the bill summary output
file.
Table 97.
File Control Data Elements for the Bill Summary Output File
Data Element
Length
Type
Required
by the
API
Num
No
Record Type 1
Varchar
No
Record Type 1
Number of Records 1
Num
No
Number of Records 1
Record Type 2
Varchar
No
Record Type 2
Number of Records 2
Num
No
Number of Records 2
Record Type 3
Varchar
No
Record Type 3
Number of Records 3
Num
No
Number of Records 3
326
Description
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 97.
File Control Data Elements for the Bill Summary Output File
Data Element
Length
Type
Required
by the
API
Record Type 4
Varchar
No
Record Type 4
Number of Records 4
Num
No
Number of Records 4
Record Type 5
Varchar
No
Record Type 5
Number of Records 5
Num
No
Number of Records 5
Record Type 6
Varchar
No
Record Type 6
Number of Records 6
Num
No
Number of Records 6
Record Type 7
Varchar
No
Record Type 7
Number of Records 7
Num
No
Number of Records 7
Record Type 8
Varchar
No
Record Type 8
Number of Records 8
Num
No
Number of Records 8
Record Type 9
Varchar
No
Record Type
Number of Records 9
Num
No
Number of Records 9
Record Type 10
Varchar
No
Record Type 10
Number of Records 10
Num
No
Number of Records 10
Record Type 11
Varchar
No
Record Type 11
Number of Records 11
Num
No
Number of Records 11
Record Type 12
Varchar
No
Record Type 12
Number of Records 12
Num
No
Number of Records 12
Record Type 13
Varchar
No
Record Type 13
Number of Records 13
Num
No
Number of Records 13
Record Type 14
Varchar
No
Record Type 14
Number of Records 14
Num
No
Number of Records 14
Record Type 15
Varchar
No
Record Type 15
Number of Records 15
Num
No
Number of Records 15
Record Type 16
Varchar
No
Record Type 16
Number of Records 16
Num
No
Number of Records 16
Record Type 17
Varchar
No
Record Type 17
Number of Records 17
Num
No
Number of Records 17
Custom Field 1
85
Varchar
No
Custom field 1
Description
32 7
Customizing the Payment Consolidator Integration Module Default File Formats for
Payment Consolidation
Table 97.
File Control Data Elements for the Bill Summary Output File
Data Element
Length
Type
Required
by the
API
Varchar
No
Num
No
File ID
32
Num
No
End of Record
Varchar
No
Description
Body Detail Data Elements for the Bill Summary Acknowledgement Output File
Data Element
Length
Type
Required
by the
API
Num
No
Action Type
10
Varchar
No
Description
Consolidator ID
32
Varchar
Yes
Biller ID
32
Varchar
Yes
328
Table 98.
Body Detail Data Elements for the Bill Summary Acknowledgement Output File
Data Element
Length
Type
Required
by the
API
Account Number
32
Varchar
No
32
Varchar
No
Varchar
No
Biller E-Bill ID
36
Varchar
Yes
Status Code
Varchar
No
Status Message
80
Varchar
No
Custom Field 1
255
Varchar
No
Custom Field 2
255
Varchar
No
Custom Field 3
255
Varchar
No
Custom Field 4
255
Varchar
No
Custom Field 5
1024
Varchar
No
Custom Field 6
Char
No
Custom Field 7
Char
No
Custom Field 8
20
Datetime
No
Custom Field 9
20
Datetime
No
End of Record
None
No
Description
SIS2050ACK
SIS2070
SIS2070ACK
32 9
Record Type
Sender ID
Sender ID
Receiver ID
Receiver ID
Entity Name
Sender Name
File ID
File ID
None
Filler
Custom Field 1
Filler
Custom Field 2
Error Code
Status Code
Error Message
Status Message
End of Record
End of Record
Table 100 shows how the body detail elements in the SIS2050ACK file map to elements in Oracle
Billing Insight.
Table 100. Mapping of SIS2050ACK Body Detail Elements to Oracle Billing Insight
File Element of Consolidator A
Record Type
Record Action
Action Type
Sponsor ID
Sponsor ID
Subscriber ID
Consolidator User ID
Bill Publisher ID
Consolidator ID
Biller ID
Biller ID
Account Number
Business Name
330
Table 100. Mapping of SIS2050ACK Body Detail Elements to Oracle Billing Insight
File Element of Consolidator A
Service City
User City
Service State
User State
Service Zip 5
User Zip 5
Service Zip 4
User Zip 4
Service Zip 2
User Zip 2
Response Code
Response Code
Rejection Text
Rejection Text
Paper Status
Incentive Message ID
Incentive Message ID
Filler
Custom Field 1
Error Code
Status Code
Error Message
Status Message
None
Biller Name
None
Biller User ID
None
Consolidator Transaction II
33 1
Table 100. Mapping of SIS2050ACK Body Detail Elements to Oracle Billing Insight
File Element of Consolidator A
None
Biller Transaction ID
None
None
None
Biller City
None
Biller State
None
Biller Zipcode
None
Biller Zip + 4
None
None
User Type
None
None
None
None
None
None
None
None
None
None
None
Custom Field 2
None
None
None
Deactivation Source
None
Custom Field 3
None
Custom Field 4
None
Custom Field 5
None
Custom Field 6
None
Custom Field 7
None
Custom Field 8
None
Custom Field 9
None
Record Type
332
Table 100. Mapping of SIS2050ACK Body Detail Elements to Oracle Billing Insight
File Element of Consolidator A
None
Biller ID
None
Biller Name
None
Batch ID
None
Custom Field 1
None
Custom Field 2
End of Record
End of Record
Mapping of the SIS2070 File Elements to the Oracle Billing Insight Bill Summary File
Table 101 shows the how the header elements in the SIS2070 file map to elements in Oracle Billing
Insight.
Table 101. Mapping of SIS2070 File Header Elements to Oracle Billing Insight
File Element of Consolidator A
Record Type
Sender ID
Sender ID
Receiver ID
Receiver ID
Sender Name
Sender Name
File ID
File ID
None
None
Custom Field 1
None
Custom Field 2
End of Record
End of Record
Table 102 shows how the body detail elements in the SIS2070 file map to elements in Oracle Billing
Insight.
Table 102. Mapping of the SIS2070 Body Detail Elements to Oracle Billing Insight
File Element of Consolidator A
Record Type
Record Action
Action Type
Bill Publisher ID
Consolidator ID
33 3
Table 102. Mapping of the SIS2070 Body Detail Elements to Oracle Billing Insight
File Element of Consolidator A
Biller ID
Biller ID
Account Number
Biller E-Bill ID
Biller E-Bill ID
Payment Received
Amount Due
Balance Amount
Teaser Ad URL
Teaser Ad URL
Teaser Ad Text
Teaser Ad Text
FI Transaction Stamp
None
Magnet URL
Filler
Custom Field 1
E-bill Category
E-Bill Category
Filler
Custom Field 2
Error Code
Status Code
334
Table 102. Mapping of the SIS2070 Body Detail Elements to Oracle Billing Insight
File Element of Consolidator A
Error Message
Status Message
None
Biller Transaction ID
None
Biller User ID
None
None
None
None
None
Custom Field 3
None
Custom Field 4
None
Custom Field 5
None
Custom Field 6
None
Custom Field 7
None
Custom Field 8
None
Custom Field 9
None
Record Type
None
Biller ID
None
Biller Name
None
Batch ID
None
Custom Field 1
None
Custom Field 2
End of Record
None
Table 103 shows how the file control elements in the SIS2070 file map to elements in Oracle Billing
Insight.
Table 103. Mapping of the SIS2070 File Control Elements to Oracle Billing Insight
File Element of Consolidator A
Record Type
Record Type 1
Record Type 1
Number of Records 1
Number of Records 1
Record Type 2
Record Type 2
Number of Records 2
Number of Records 2
33 5
Table 103. Mapping of the SIS2070 File Control Elements to Oracle Billing Insight
File Element of Consolidator A
Record Type 3
Record Type 3
Number of Records 3
Number of Records 3
Record Type 4
Record Type 4
Number of Records 4
Number of Records 4
Record Type 5
Record Type 5
Number of Records 5
Number of Records 5
Record Type 6
Record Type 6
Number of Records 6
Number of Records 6
Record Type 7
Record Type 7
Number of Records 7
Number of Records 7
Record Type 8
Record Type 8
Number of Records 8
Number of Records 8
Record Type 9
Record Type 9
Number of Records 9
Number of Records 9
Record Type 10
Record Type 10
Number of Records 10
Number of Records 10
Record Type 11
Record Type 11
Number of Records 11
Number of Records 11
Record Type 12
Record Type 12
Number of Records 12
Number of Records 12
Record Type 13
Record Type 13
Number of Records 13
Number of Records 13
Record Type 14
Record Type 14
Number of Records 14
Number of Records 14
Record Type 15
Record Type 15
Number of Records 15
Number of Records 15
Record Type 16
Record Type 16
Number of Records 16
Number of Records 16
Record Type 17
Record Type 17
Number of Records 17
Number of Records 17
Custom Field 1
Custom Field 1
336
Table 103. Mapping of the SIS2070 File Control Elements to Oracle Billing Insight
File Element of Consolidator A
None
Custom Field 1
None
None
None
File ID
End of Record
The amount sign. This value is a plus sign (+) for a positive balance or a minus sign (-) for a
negative balance.
The amount. The dollar amount in 9(11)V9(4) format. The amount is exactly 15 digits in length,
padded with zeros if necessary. There is an implied decimal point before the right-most four
numbers of the amount.
The currency code. The value is always USD (United States Dollar).
Check with your consolidator. If the biller wants to send something in an amount field, then all of
these parts must be populated. If the biller does not want to send something in an amount field, then
all four parts must be blank.
Record Type
Sender ID
Sender ID
Receiver ID
Receiver ID
Sender Name
Sender Name
File ID
File ID
None
33 7
Table 104. Mapping of SIS2070ACK Header Record Elements to Oracle Billing Insight
File Element of Consolidator A
Error Code
Status Code
Error Message
Status Message
None
Custom Field 1
None
Custom Field 2
End of Record
End of Record
338
Table 105 shows how the body detail elements in the SIS2070ACK file map to elements in Oracle
Table 105. Mapping of the SIS2070ACK Body Detail Elements to Oracle Billing Insight
File Element of Consolidator A
Record Type
Record Action
Action Type
Bill Publisher ID
Consolidator ID
Biller ID
Biller ID
Biller E-Bill ID
Biller E-Bill ID
Payment Received
Amount Due
Balance Amount
Teaser Ad URL
Teaser Ad URL
Teaser Ad Text
Teaser Ad Text
FI Transaction Stamp
None
Magnet URL
33 9
Table 105. Mapping of the SIS2070ACK Body Detail Elements to Oracle Billing Insight
File Element of Consolidator A
Filler
Custom Field 1
E-bill Category
E-Bill Category
Filler
Custom Field 2
Error Code
Error Code
Error Message
Error Message
None
Custom Field 3
None
Custom Field 4
None
Custom Field 5
None
Custom Field 6
None
Custom Field 7
None
Custom Field 8
None
Custom Field 9
None
Record Type
None
Biller ID
None
Biller Name
None
Batch ID
None
Custom Field 1
None
Custom Field 2
End of Record
End of Record
Billing Insight.
340
Table 106 shows how the file header elements of Consolidator Bs enrollment response file map to
elements in Oracle Billing Insight.
Table 106. Mapping of Consolidator Bs Enrollment Response File Header Elements to Oracle Billing
Insight
File Element of Consolidator B
ENV
None
Originator ID
Sender ID
Originator Name
Sender Name
File ID
File ID
File Type
None
UTC
UTC Timezone
Custom Field 1
Custom Field 1
Custom Field 2
Custom Field 2
None
Receiver ID
None
Status Code
None
Status Message
Table 107 shows how the batch header elements of Consolidator Bs enrollment response file map to
elements in Oracle Billing Insight.
Table 107. Mapping of Consolidator Bs Enrollment Response File Batch Header Elements to Oracle
Billing Insight
File Element of Consolidator B
Biller ID
Biller ID
Biller Name
Biller Name
Batch ID
Batch ID
Custom Field 1
Custom Field 1
Custom Field 2
Custom Field 2
34 1
Table 108 shows how body detail elements of Consolidator Bs enrollment response file map to
elements in Oracle Billing Insight.
Table 108. Mapping of Consolidator Bs Enrollment Response File Body Detail Elements to Oracle
Billing Insight
File Element of Consolidator B
Transaction Code
Action Type
Sponsor ID
Transaction Expression
Action Description
Originator Enrollment ID
Consolidator Transaction ID
Processor Enrollment ID
Biller Transaction ID
Originator Payor ID
Consolidator User ID
Processor Payor ID
Biller User ID
Biller ID
Biller ID
Custom Field 1
Account Number
Custom Field 2
Custom Field 1
Custom Field 3
Custom Field 2
Custom Field 4
Custom Field 3
Custom Field 5
Custom Field 4
Custom Field 6
Custom Field 5
Status Code
Status Code
Status Message
Status Message
None
Consolidator ID,
None
None
User Type
None
Business Name
None
Biller Name
None
Biller Address 1
None
Biller Address 2
None
City
None
State
342
Table 108. Mapping of Consolidator Bs Enrollment Response File Body Detail Elements to Oracle
Billing Insight
File Element of Consolidator B
None
ZipCode
None
Zip+4
None
None
None
None
None
Address Line 1
None
Address Line 2
None
Address Line 3
None
City
None
State
None
Zip 5
None
Zip 4
None
Zip 2
None
Country Code
None
Postal Code
None
Province Name
None
None
None
None
None
None
None
None
None
None
None
None
None
34 3
Table 108. Mapping of Consolidator Bs Enrollment Response File Body Detail Elements to Oracle
Billing Insight
File Element of Consolidator B
None
None
None
Response Code
None
Rejection Text
None
None
Paper Status
None
Custom Field 6
None
Custom Field 7
None
Custom Field 8
None
Custom Field 9
None
None
Batch ID
None
None
None
None
File ID
None
ENV
None
Originator ID
Sender ID
Originator Name
Sender Name
File ID
File ID
File Type
None
344
Table 109. Mapping of the Bill Summary File Header Elements to Consolidator Bs Elements
File Element of Consolidator B
UTC
UTC Timezone
Custom Field 1
Custom Field 1
Custom Field 2
Custom Field 2
None
Receiver ID
The batch header elements in the Bill Summary file map to Consolidator Bs file details as shown in
Table 108 on page 342.
Table 110 shows how the body detail elements in the Oracle Billing Insight Bill Summary File map to
Consolidator Bs data elements.
Table 110. Mapping of the Body Detail Elements in the Bill Summary File to Consolidator Bs
Elements
File Element of Consolidator B
Record Type
Transaction Code
Action Type
Transaction Expression
None
Processor Enrollment ID
Biller Transaction ID
Processor Payor ID
Biller User ID
Biller ID
Biller ID
Biller E- Bill ID
Invoice Number
Biller E- Bill ID
Amount Due
Account Balance
Balance Amount
Minimum Due
Previous Balance
Statement Date
Statement Date
Due Date
None
34 5
Table 110. Mapping of the Body Detail Elements in the Bill Summary File to Consolidator Bs
Elements
File Element of Consolidator B
NOC 1
None
NOC 2
None
Bill URL
Custom1
Custom Field 1
Custom2
Custom Field 2
Custom3
Custom Field 3
Custom4
Custom Field 4
None
None
None
Payment Received
None
None
None
None
None
None
None
Teaser Ad URL
None
Teaser Ad Text
None
None
None
None
None
E-Bill Category
None
Custom Field 5
None
Custom Field 6
None
Custom Field 7
346
Table 111 shows how the batch control elements in the Oracle Billing Insight Bill Summary file map
to Consolidator Bs data elements.
Table 111. Mapping of the Batch Control Elements in the Bill Summary File to Consolidator Bs
Elements
File Element of Consolidator B
Batch ID
Batch ID
Custom Field 1
Custom Field 1
Custom Field 2
Custom Field 2
Table 112 shows how the file control elements in the Oracle Billing Insight Bill Summary File map to
Consolidator Bs elements.
Table 112. Mapping of the File Control Elements in the Bill Summary File Map to Consolidator Bs
Elements
File Element of Consolidator B
File ID
File ID
None
Record Type 1
None
Number of Records 1
None
Record Type 2
None
Number of Records 2
None
Record Type 3
None
Number of Records 3
None
Record Type 4
None
Number of Records 4
None
Record Type 5
None
Number of Records 5
None
Record Type 6
None
Number of Records 6
None
Record Type 7
None
Number of Records 7
34 7
Table 112. Mapping of the File Control Elements in the Bill Summary File Map to Consolidator Bs
Elements
File Element of Consolidator B
None
Record Type 8
None
Number of Records 8
None
Record Type 9
None
Number of Records 9
None
Record Type 10
None
Number of Records 10
None
Record Type 11
None
Number of Records 11
None
Record Type 12
None
Number of Records 12
None
Record Type 13
None
Number of Records 13
None
Record Type 14
None
Number of Records 14
None
Record Type 15
None
Number of Records 15
None
Record Type 16
None
Number of Records 16
None
Record Type 17
None
Number of Records 17
None
Custom Field 1
348
Table 113 shows how the body detail elements of Consolidator Bs details confirmation file map to
elements in Oracle Billing Insight.
Table 113. Mapping of the Body Detail Elements of Consolidator Bs Details Confirmation File Map to
Oracle Billing Insight
File Element of Consolidator
B
Record Type
Biller E-Bill ID
Status Code
Status Code
Status Message
Status Message
Custom1
Custom Field 1
Custom2
Custom Field 2
Custom3
Custom Field 3
Custom4
Custom Field 4
None
Custom Field 5
None
Custom Field 6
None
Custom Field 7
None
Consolidator ID
None
None
Biller ID
None
None
None
E-Bill Category
Description
EDX_PC_ACCOUNT_ENROLL
EDX_PC_ACCOUNT_ENROLL_HISTORY
34 9
Description
EDX_PC_ACCT_ENROLL_DETAIL
EDX_PC_ACCT_ENROLL_DETAIL_HIST
EDX_PC_ENROLL_FILE
EDX_PC_ENROLL_BATCH
EDX_PC_BILLER
EDX_PC_BILLER
EDX_PC_CONSOLIDATOR
EDX_PC_BILLSUMMARY_LOG
EDX_PC_FILETYPE_MAPPING
350
11 Customizing
the Assisted
Service Application
This chapter covers customizing the Assisted Service application for your implementation of Oracle
Billing Insight. It includes the following topics:
Integrating the Assisted Service Application With CRM or Other Back Office Systems on page 352
35 1
Install the Assisted Service application. For details, see Installation Guide for Oracle Billing
Insight.
Create an agent user for the Assisted Service application to use to log into the Oracle Billing
Insight Assisted Service application. You can skip this step if the Assisted Service application is
configured as a Single-Sign On with the CRM application.
Deploy the Assisted Service application. For details on deploying the Assisted Service application,
see Installation Guide for Oracle Billing Insight.
Use the agent boot user, created when you installed the Oracle Billing Insight database, to log
into the Assisted Service application and create an agent user. This username and password will
be used for the j_username and j_password parameters required by the Assisted Service
application for logging in and passing data to the Assisted Service application.
Replace the following default files with files required for integration:
Template files:
352
Configure the Assisted Service application session to never time out, which turns off the default
behavior of sending email reminders for password expiration:
UNIX. EDX_HOME\J2EEApps\csr\weblogic\csr-app-7.0.ear\csr-web-1.0SNAPSHOT.war\WEB-INF\
Windows. EDX_HOME/J2EEApps/csr/weblogic/csr-app-7.0.ear/csr-web-1.0SNAPSHOT.war/WEB-INF/
UNIX. EDX_HOME\xma\config\modules\security\
Windows. EDX_HOME/xma/config/modules/security/
Deploy, or redeploy, the Assisted Service application. For details on deploying the Assisted
Service application, see Installation Guide for Oracle Billing Insight.
35 3
On a Web page of the CRM application, create an iFrame large enough to display the content
provided by Oracle Billing Insight. Use a secure HTTPS connection to access the Assisted Service
application with the following parameters.
Parameter
Required?
Description
j_username
j_password
extCsrId
accountNumber
billerId
localeString
targetUser
targetCompany
brandId
It is recommended that you pass the parameters using a POST request, however, you can also
use a single, secure URL connection, for example:
https://hostname:port/selfservicecsr/
j_spring_security_check?j_username=username&j_password=password& extCsrId=CSRID&
accountNumber=accountnumber
where:
hostname is the name of the server where you installed the Assisted Service application.
port is the port number where you installed the Assisted Service application.
354
(Optional) If you are configuring the Assisted Service application integration for a demo, where
the SSL Digital Certificate is not installed on the Assisted Service application server, you can use
a non-HTTP connection access URL:
UNIX. EDX_HOME/config/security/csr/integration
Windows.EDX_HOME\config\security\csr\integration
(Optional) To alter the look and feel of the Assisted Service application to match the CRM
application, edit the swan_integrate.css file, found in the following location:
UNIX. EDX_HOME\J2EEApps\csr\weblogic\csr-app-7.0.ear\csr-web-1.0SNAPSHOT.war\_assets\swan
Windows. EDX_HOME/J2EEApps/csr/weblogic/csr-app-7.0.ear/csr-web-1.0SNAPSHOT.war/_assets/swan
10 (Optional) To add or remove reports on the Assisted Service application dashboard, edit the
dashBoardLayout.jsp file, found in the following location:
UNIX. EDX_HOME\J2EEApps\csr\weblogic\csr-app-7.0.ear\csr-web-1.0SNAPSHOT.war\_assets\templates
Windows. EDX_HOME/J2EEApps/csr/weblogic/csr-app-7.0.ear/csr-web-1.0SNAPSHOT.war/_assets/templates
35 5
USER_ID. The ID of the user or agent user who performed the action or had actions performed
on his behalf by the user identified in the IMP_CSR_ID field during an impersonation session.
TARGET_USER_ID. The ID of the user whose information was processed by another user during
impersonation.
IMP_CSR_ID. Indicates that the action was performed during an impersonation session and
identifies the agent user who impersonated the user identified in the USER_ID field. The
IMP_CSR_ID field can be an ID from an external customer service application.
TRUST_USER. The name of the trust user who has an agent role and is required to get
authentication for access to Oracle Billing Insight, if the impersonation session is initiated by an
external customer service system and the external user does not exist in Oracle Billing Insight.
Table 115 shows sample data for various types of impersonation actions that Oracle Billing Insight
audits
Table 115. Examples of Impersonation Actions Audited
User ID
TARGET
_USER
_ID
IMP_CSR
_ID
TRUST_USER
Description
Impersonate Login
ftown
None
Agent1
None
Impersonate Login
ftown
None
Agent1
trustedUser1
Update a user
ftown
None
Agent1
None
Update User
ftown
None
Agent1
trustedUser1
Impersonation
Action
356
User ID
TARGET
_USER
_ID
IMP_CSR
_ID
TRUST_USER
Description
Update User
ftown
lgreen
Agent1
None
Update User
ftown
lgreen
Agent1
trustedUser1
Update User
ftown
lgreen
None
None
Update User
ftown
None
None
None
Update
notification
sttings
ftown
None
Agent1
None
Impersonation Logout
ftown
None
Agent1
None
Impersonation
Action
35 7
358
Oracle Billing Insight audits the following actions that occur when enrolling users:
A user enrolls.
Oracle Billing Insight audits the following actions that occur when updating user profiles:
A business user (administrator or manager) updates another business users user access
information.
An agent user (administrator or agent) updates his or her own user access information.
An agent (administrator or agent) updates another business users user access information.
35 9
A business user (administrator or manager) updates another business users user access
information.
A user or agent user enrolls to complete the reactivation process after clicking the URL in an
email notification.
A migrated user or agent user creates a new HIPPA-compliant password after clicking the URL in
the email notification.
Oracle Billing Insight audits the following actions that occur when deleting users:
Oracle Billing Insight audits the following actions that occur when logging in and out:
You can report on the audit data for each user role, including the user who performed the action, the
date and time, IP address, and various attributes. For details about payment audit data, see About
Payment Auditing on page 237. For information about database auditing, see Identifying the
Installed Version of Oracle Billing Insight on page 26.
You can create customized reports on the audited user enrollment data. Oracle Billing Insight stores
audit data for user enrollment activities in the EDX_UMF_USER_AUDIT table. Table 116 describes the
EDX_UMF_USER_AUDIT table:
Description
ID
USER_ID
The ID of the user who performed the action, either on his or her own account
or on another users account.
ACTION
The ID indicating the type of user action. (Action type IDs are defined in the
EDX_UMF_USER_ACTION_TYPE table.)
360
Description
ACTION_DATE
TARGET_USER_ID
The ID of the target user. If the user performed the action on his or her own
account (the target user is the same as the USER_ID), then the value in this
column is null.
USER_ROLE
NOTES
The reason for locking an account: Incorrect Login, Reset Password, Security
Question, or Account Expired. (User account reactivation only.)
ATTRIBUTES
IP_ADDRESS
Description
ID
TYPE
RESOURCE_KEY
Table 118 shows the ID associated with each type of user action. These associations are stored in the
EDX_UMF_USER_ACTION_TYPE Table:
Table 118. ID of User Action Types Stored in the EDX_UMF_USER_ACTION_TYPE Table
ID
Reactivate
Impersonate-login
Impersonate-logout
Login
Logout
Update notifications
Reset password
10
Create user
13
Enroll user
36 1
16
Delete user
17
Login failure
Table 119 shows the user action type recorded in the EDX_UMF_USER_AUDIT table for each user
enrollment activity in Oracle Billing Insight.
Table 119. User Action Types Used for Each User Enrollment Activity
User Action Type
ID and
Description
Valid Attributes
1 - Reactivate
Password
2-Impersonatelogin
Null
3-Impersonatelogout
Null
4-Login
Null
5-Logout
Null
6 - Update user
profile
6 - Update user
profile
362
Password
Security question
and answer
Role
Table 119. User Action Types Used for Each User Enrollment Activity
User Action Type
ID and
Description
Valid Attributes
6 - Update user
profile
6 - Update user
profile
Role
Role
6 - Update user
profile
Null
6 - Update user
profile
Password
7 - Update
notifications
9 - Reset password
10 - Create user
Notifications
Password
Null
36 3
Table 119. User Action Types Used for Each User Enrollment Activity
User Action Type
ID and
Description
13 - Enroll user
Null
16 - Delete user
17 - Login failure
Valid Attributes
Null
Null
Updating jobs
Removing jobs
Scheduling jobs
Running jobs
364
You can create customized reports on the audited administrator data. Oracle Billing Insight stores
the audit data for these system administrator activities in the administrator activity table,
ADMIN_ACTIVITY.
Table 120 describes the ADMIN_ACTIVITY table.
Description
ACTIVITY_ID
ACTIVITY_CODE
PRODUCT_CODE
DDN_REFERENCE
LOGIN_ID
ACTIVITY_START_TIME
ACTIVITY_END_TIME
FLEX_FIELD1
For logging into and out of the Command Center: Whether the
activity was successful (Yes or No).
For creating, updating, removing, running, or scheduling a job:
The name of the job.
FLEX_FIELD2
DATE_CREATED
CREATED_BY
UPDATE_DATE
UPDATED_BY
Table 121 shows the valid activity codes that can be stored in the ACTIVITY_CODE column in the
ADMIN_ACTIVITY:
Description
LOGIN
LOGOUT
36 5
Description
CREATE JOB
UPDATE JOB
DELETE JOB
CREATE USER
ENROLL USER
UPDATE USER
366
13 Load
Input File Specifications
and Data Mapping
This chapter describes the load input file specifications and data mapping tasks. It includes the
following topics:
NOTE: Before running core load tasks, you must process all billing data files using a customized
preprocessor.
For information on running load processes and other jobs, see Administration Guide for Oracle Billing
Insight.
Preprocessor Tasks
Oracle Billing Insight requires that all input bill data files conform to the file format specified in this
section. The flat file format is pipe delimited. Each row in the file has specific record type associated
with it indicating the type of the record. The preprocessor performs the following tasks:
Converts data file from an outside billing system file format to the one Oracle Billing Insight uses.
Converts all dimension value literal strings into dimension value business keys.
36 7
Load Input File Specifications and Data Mapping Data File Loading Tasks
You can use many dimension values in a data file. For example, the data file might contain a record
with the following text: service 781-359-1000 Peak 2000 minutes. In this record, Peak could be
interpreted as one of Tariff dimension value, which might have a business key PEAK_CALL. For the
load process to recognize this record indicating that the service with number 781-359-1000 made a
total of 2000 call minutes during peak hours, Oracle Billing Insight expects the file to contain
PEAK_CALL (the business KEY string rather than the word Peak, the literal string that came from the
billing system).
This approach enables bill files in different languages to be stored with the correct business key
value, allowing for data to be aggregated at a later time.
NOTE: Files must be Unicode compliant so that Oracle Billing Insight can process data in multiple
languages.
Files to populate any new dimension information, including the following 3-character record types
(REC_TYPE): 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250,
260, 270, 280.
Files to populate fact data into all the fact tables and some dimension tables, including the
following 4-character record types (REC_TYPE): 0000, 1000, 1100, 1200, 1300, 2000, 2100,
3000, 3100, 3200, 3300, 3400, 3500, 4000, 4900, 5000, 5100, 9000, 9200, 9500.
Table Name
Prepopulated
Industry Application
100
EDX_RPT_PAYMENT_TYPE_DIM
110
EDX_RPT_ADJUSTMENT_TYPE_DIM
120
EDX_RPT_CHARGE_TYPE_DIM
368
Load Input File Specifications and Data Mapping File Record and Fact Table Mapping
Table Name
Prepopulated
Industry Application
130
EDX_RPT_SUB_CHARGE_TYPE_DIM
140
EDX_RPT_PLAN_TYPE_DIM
Telco
150
EDX_RPT_PRODUCT_DIM
Telco
150
EDX_RPT_SUB_PRODUCT_DIM
Telco
160
EDX_RPT_USAGE_TYPE_DIM
170
EDX_RPT_TARIFF_DIM
Telco
180
EDX_RPT_REGION_DIM
Telco
190
EDX_RPT_CARRIER_DIM
Telco
200
EDX_RPT_AREA_CD_DIM
Telco
210
EDX_RPT_SERVICE_TYPE_DIM
220
EDX_RPT_UNIT_DIM
230
EDX_RPT_CHARGE_NOTES_DIM
240
EDX_RPT_DIRECTION_DIM
Telco
250
EDX_RPT_PRODUCT_RATE_MAP_DIM
Telco
Table Name
Prepopulated
Industry Application
0000
None
Fact Data
1000
EDX_RPT_STATEMENT_FACT
Fact Data
1000
EDX_RPT_COMPANY_DIM
1000
EDX_RPT_COUNTRY_DIM
1000
EDX_RPT_CURRENCY_TYPE_DIM
1000
EDX_RPT_TIME_ZONE_DIM
1100
EDX_RPT_STATEMENT_PAYMENT_FACT
Fact Data
1200
EDX_RPT_STATEMENT_ADJUST_FACT
Fact Data
1300
EDX_RPT_ADDRESS_DIM
2000
EDX_RPT_ACCOUNT_DIM
2000
EDX_RPT_ADDRESS_DIM
2000
EDX_RPT_ACCOUNT_FACT
Fact Data
2100
EDX_RPT_ACCOUNT_CHARGE_FACT
Fact Data
36 9
Load Input File Specifications and Data Mapping File Formats for Dimension-Level
Information
Table Name
Prepopulated
Industry Application
3000
EDX_RPT_SERVICE_FACT
Fact Data
3100
EDX_RPT_SERVICE_CHARGE_FACT
Fact Data
3200
EDX_RPT_SERVICE_PRODUCT_FACT
Fact Data
Telco
3300
EDX_RPT_SERVICE_USAGE_FACT
Fact Data
3400
EDX_RPT_SERVICE_TARIFF_FACT
Fact Data
Telco
3500
EDX_RPT_SERVICE_MISC_FACT
Fact Data
Utility
4000
EDX_RPT_SERVICE_DETAIL_FACT
Fact Data
Telco
4900
EDX_RPT_UNBILLED_DETAIL _FACT
Fact Data
Telco
5000
EDX_RPT_PREMISE_DIM
Utility
5100
EDX_RPT_CONSUM_FACT
Fact Data
Utility
9000
EDX_RPT_PREPAY_ACCOUNT_FACT
Fact Data
Telco
9200
EDX_RPT_PREPAY_PRODUCT_FACT
Fact Data
Telco
9500
EDX_RPT_PREPAY_DETAIL_FACT
Fact Data
Telco
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
100
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
100
Payment
Type Code
50
VARCHAR2
No
COL1
EDX_RPT_PAYMENT
_TYPE_DIM
PAYMENT_TYPE_CD
Telco and
Utility
100
Payment
Type Name
100
VARCHAR2
No
COL2
EDX_RPT_PAYMENT
_TYPE_DIM
PAYMENT_TYPE_NAME
Telco and
Utility
370
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Load Input File Specifications and Data Mapping File Formats for Dimension-Level
Information
Table 125 shows the file format for the adjustment type information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
110
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
110
Adjustment
Type Code
50
VARCHAR2
No
COL1
EDX_RPT
_ADJUSTMENT_TYPE
_DIM
ADJUSTMENT_TYPE
_CD
Telco and
Utility
110
Adjustment
Type Name
100
VARCHAR2
No
COL2
EDX_RPT
_ADJUSTMENT_TYPE
_DIM
ADJUSTMENT_TYPE
_NAME
Telco and
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 126 shows the file format for charge type information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
120
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
120
Charge
Type Code
50
VARCHAR2
No
COL1
EDX_RPT_CHARGE_
TYPE_DIM
CHARGE_TYPE_CD
Telco and
Utility
120
Charge
Type Name
100
VARCHAR2
No
COL2
EDX_RPT_CHARGE_
TYPE_DIM
CHARGE_TYPE_NAME
Telco and
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 127 shows the file format for subcharge type information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
130
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
130
Sub
Charge
Type Code
50
VARCHAR2
No
COL1
EDX_RPT_SUB
_CHARGE_TYPE
_DIM
SUB_CHARGE_TYPE
_CD
Telco and
Utility
130
Sub
Charge
Type Name
100
VARCHAR2
No
COL2
EDX_RPT_SUB
_CHARGE_TYPE
_DIM
SUB_CHARGE_TYPE
_NAME
Telco and
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
37 1
Load Input File Specifications and Data Mapping File Formats for Dimension-Level
Information
Table 128 shows the file format for plan type information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
140
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco
140
Plan Type
Code
50
VARCHAR2
No
COL1
EDX_RPT_PLAN
_TYPE_DIM
PLAN_TYPE_CD
Telco
140
Plan Type
Name
100
VARCHAR2
No
COL2
EDX_RPT_PLAN
_TYPE_DIM
PLAN_TYPE_NAME
Telco
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 129 shows the file format for product and subproduct type information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
150
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco
150
Product
Code
50
VARCHAR2
No
COL1
EDX_RPT_PRODUCT
_DIM
PRODUCT_CD
Telco
150
Product
Name
100
VARCHAR2
No
COL2
EDX_RPT_PRODUCT
_DIM
PRODUCT_NAME
Telco
150
Subproduct
Code
50
VARCHAR2
No
COL3
EDX_RPT_SUB
_PRODUCT_DIM
SUB_PRODUCT
_CD
Telco
150
Subproduct
Name
100
VARCHAR2
No
COL4
EDX_RPT_SUB
_PRODUCT_DIM
SUB_PRODUCT
_NAME
Telco
150
Subproduct
Charges
16,2
NUMBER
No
COL5
EDX_RPT_SUB
_PRODUCT_DIM
SUB_PRODUCT
_CHARGES
Telco
20
VARCHAR2
No
COL6
EDX_RPT_SUB
_PRODUCT_DIM
SUB_PRODUCT
_UNIT
Telco
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
(Not used by
reporting)
150
Subproduct
Unit
(Not used by
reporting)
150
Product
Note1
2000
VARCHAR2
No
COL7
EDX_RPT_PRODUCT
_DIM
PRODUCT_NOTE1
Telco
150
Product
Note2
2000
VARCHAR2
No
COL8
EDX_RPT_PRODUCT
_DIM
PRODUCT_NOTE2
Telco
150
Product
Note3
10
2000
VARCHAR2
No
COL9
EDX_RPT_PRODUCT
_DIM
PRODUCT_NOTE3
Telco
150
Allowance
Indicator
11
VARCHAR2
No
COL10
EDX_RPT_SUB_PRO
DUCT
_DIM
ALLOWANCE_ID
Telco
12
VARCHAR2
No
COL11
EDX_RPT_PRODUCT
_DIM
ADD_ON_FLAG
Telco
(Not used by
reporting)
150
372
Add on
Indicator
Load Input File Specifications and Data Mapping File Formats for Dimension-Level
Information
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
150
Product
Description
13
500
VARCHAR2
No
150
Subproduct
Description
14
500
VARCHAR2
No
Record
Type
Industry
Application
DB_TABLE_NAME
DB_COLUMN_NAME
COL12
EDX_RPT_PRODUCT
_DIM
PRODUCT
_DESC
Telco
COL13
EDX_RPT_SUB_PRO
DUCT
_DIM
SUB_PRODUCT
_DESC
Telco
Table 130 shows the file format for service usage type information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
160
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
160
Usage Type
Code
50
VARCHAR2
No
COL1
EDX_RPT_USAGE
_TYPE_DIM
USAGE_TYPE_CD
Telco and
Utility
160
Usage Type
Name
100
VARCHAR2
No
COL2
EDX_RPT_USAGE
_TYPE_DIM
USAGE_TYPE_NAME
Telco and
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 131 shows the file format for tariff type information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
170
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco
170
Tariff Code
50
VARCHAR2
No
COL1
EDX_RPT_TARIFF
_DIM
TARIFF_CD
Telco
170
Tariff
Name
100
VARCHAR2
No
COL2
EDX_RPT_TARIFF
_DIM
TARIFF_NAME
Telco
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
37 3
Load Input File Specifications and Data Mapping File Formats for Dimension-Level
Information
Table 132 shows the file format for other type (dimension) related information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
180
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco
180
Region
Code
50
VARCHAR2
No
COL1
EDX_RPT_REGION_
DIM
REGION_CD
Telco
180
Region
Name
100
VARCHAR2
No
COL2
EDX_RPT_REGION_
DIM
REGION_NAME
Telco
190
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco
190
Carrier
Code
50
VARCHAR2
No
COL1
EDX_RPT_CARRIER
_DIM
CARRIER_CD
Telco
190
Carrier
Name
100
VARCHAR2
No
COL2
EDX_RPT_CARRIER
_DIM
CARRIER_NAME
Telco
190
Carrier
SMS
Gateway
255
VARCHAR2
No
COL3
EDX_RPT_CARRIER
_DIM
CARRIER_SMS_GATEWAY
Telco
190
Resource
bundle Key
255
VARCHAR2
No
COL4
EDX_RPT_CARRIER
_DIM
RESOURCE_BUNDLE_ID
Telco
200
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco
200
Calling/
Called City
and State
100
VARCHAR2
No
COL1
EDX_RPT_AREA_CD
_DIM
AREA_CD
Telco
200
Calling/
Called
Country
100
VARCHAR2
No
COL2
EDX_RPT_AREA_CD
_DIM
COUNTRY_CD
Telco
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 133 shows the file format for service type information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
210
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
210
Service
Type Code
50
VARCHAR2
No
COL1
EDX_RPT_SERVICE
_TYPE_DIM
SERVICE_TYPE_CD
Telco and
Utility
210
Service
Type Name
100
VARCHAR2
No
COL2
EDX_RPT_SERVICE
_TYPE_DIM
SERVICE_TYPE
_NAME
Telco and
Utility
374
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Load Input File Specifications and Data Mapping File Formats for Dimension-Level
Information
Table 134 shows the file format for unit type information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
220
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
220
Unit Code
50
VARCHAR2
No
COL1
EDX_RPT_UNIT
_DIM
UNIT_CD
Telco and
Utility
220
Unit Name
100
VARCHAR2
No
COL2
EDX_RPT_UNIT
_DIM
UNIT_NAME
Telco and
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 135 shows the file format for charge notes information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
230
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Utility
230
Notes Code
50
VARCHAR2
No
COL1
EDX_RPT_CHARGE_
NOTES_DIM
NOTES_CD
Utility
230
Notes
Name
100
VARCHAR2
No
COL2
EDX_RPT_CHARGE_
NOTES_DIM
NOTES_NAME
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 136 shows the file format for direction type information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
240
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco
240
Direction
Code
50
VARCHAR2
No
COL1
EDX_RPT_DIRECTION
_DIM
DIRECTION_CD
Telco
240
Direction
Name
100
VARCHAR2
No
COL2
EDX_RPT_DIRECTION
_DIM
DIRECTION_NAME
Telco
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
37 5
Load Input File Specifications and Data Mapping File Formats for Dimension-Level
Information
Table 137 shows the file format for subproduct to tariff mapping information. (This data is not used
by reporting.)
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
250
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco
250
Product
Code
50
VARCHAR2
No
COL1
None
None
Telco
250
Subproduc
t Code
50
VARCHAR2
No
COL2
EDX_RPT_PRODUCT_R
ATE_MAP_DIM
SUB_PRODUCT_CODE
Telco
250
Tariff Code
50
VARCHAR2
No
COL3
EDX_RPT_PRODUCT_R
ATE_MAP_DIM
TARIFF_CD
Telco
Industry
Application
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 138 shows the file format for country mapping information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
260
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
260
Country
Code
50
VARCHAR2
No
COL1
EDX_RPT_COUNTRY_
DIM
COUNTRY_CD
Telco and
Utility
260
Country
Name
100
VARCHAR2
No
COL2
EDX_RPT_COUNTRY_
DIM
COUNTRY_
NAME
Telco and
Utility
260
Country
Desc
255
VARCHAR2
No
COL3
EDX_RPT_COUNTRY_
DIM
COUNTRY_
DESC
Telco and
Utility
Industry
Application
DB_TABLE_NAME
DB_COLUMN_NAME
Table 139 shows the file format for currency mapping information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
270
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
270
Currency
Code
50
VARCHAR2
No
COL1
EDX_RPT_CURRENCY_
TYPE_DIM
CURRENCY_TYPE_CD
Telco and
Utility
376
DB_TABLE_NAME
DB_COLUMN_NAME
Load Input File Specifications and Data Mapping File Formats for Statement-Level
Information
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
270
Currency
Name
100
VARCHAR2
No
270
Currency
Desc
255
VARCHAR2
No
Record
Type
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
COL2
EDX_RPT_CURRENCY_
TYPE_DIM
CURRENCY_TYPE_NAM
E
Telco and
Utility
COL3
EDX_RPT_CURRENCY_
TYPE_DIM
CURRENCY_TYPE_DES
C
Telco and
Utility
Industry
Application
Table 140 shows the file format for time zone mapping information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
280
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
280
Time Zone
Code
50
VARCHAR2
No
COL1
EDX_RPT_TIME_
ZONE_DIM
TIME_ZONE_CD
Telco and
Utility
280
Time Zone
Name
100
VARCHAR2
No
COL2
EDX_RPT_TIME_
ZONE_DIM
TIME_ZONE_NAME
Telco and
Utility
280
Time Zone
Desc
255
VARCHAR2
No
COL3
EDX_RPT_TIME_
ZONE_DIM
TIME_ZONE_DESC
Telco and
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
0000
Rec Type
VARCHAR2
Yes
None
None
None
Telco and
Utility
0000
HEADER
TYPE
20
VARCHAR2
Yes
None
None
None
Telco and
Utility
0000
BILLING
SYSTEM
20
VARCHAR2
Yes
None
None
None
Telco and
Utility
0000
Line of
Business
20
VARCHAR2
Yes
None
None
WIRELESS for
telecommunications
and UTILITY for the
utility industry
Telco and
Utility
37 7
Load Input File Specifications and Data Mapping File Formats for Statement-Level
Information
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
0000
Group ID/
Key
NUMBER
Yes
COL1
None
None
Telco and
Utility
0000
Master Bill
File Name
255
VARCHAR2
No
COL2
None
None
Telco and
Utility
Table 142 shows the file format for control record for unbilled file information.
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
0000
Rec Type
VARCHAR2
Yes
None
None
None
Telco
0000
HEADER
TYPE
20
VARCHAR2
Yes
None
None
None
Telco
0000
BILL
SYSTEM
20
VARCHAR2
Yes
None
None
None
Telco
0000
Line of
Business
20
VARCHAR2
Yes
None
WIRELESS
None
Telco
0000
File Type
20
VARCHAR2
Yes
COL1
UNBILLED
None
Telco
Table 143 shows the file format for control record for prepaid file information.
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
0000
Rec Type
VARCHAR2
Yes
None
None
None
Telco
0000
HEADER
TYPE
20
VARCHAR2
Yes
None
None
None
Telco
0000
BILL
SYSTEM
20
VARCHAR2
Yes
None
None
None
Telco
0000
Line of
Business
20
VARCHAR2
Yes
None
WIRELESS
None
Telco
0000
File Type
20
VARCHAR2
Yes
COL1
PREPAY
None
Telco
378
Load Input File Specifications and Data Mapping File Formats for Statement-Level
Information
Table 144 shows the file format for summary-level detail information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
1000
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
1000
Statement
Number
20
VARCHAR2
Yes
COL1
EDX_RPT
_STATEMENT_FACT
STATEMENT_NUMBER
Telco and
Utility
1000
Company ID
20
VARCHAR2
No
COL2
EDX_RPT_COMPANY
_DIM
COMPANY_CD
Telco and
Utility
1000
Company
Name
255
VARCHAR2
No
COL3
EDX_RPT_COMPANY
_DIM
COMPANY_NAME
Telco and
Utility
1000
Statement
Date
DATE
No
COL4
EDX_RPT
_STATEMENT_FACT
STATEMENT_DATE
Telco and
Utility
1000
Billing Cycle
Start Date
DATE
Yes
COL5
EDX_RPT
_STATEMENT_FACT
BILL_CYCLE_START
_DATE
Telco and
Utility
1000
Billing Cycle
End Date
DATE
Yes
COL6
EDX_RPT
_STATEMENT_FACT
BILL_CYCLE_END
_DATE
Telco and
Utility
1000
Previous
Balance
16,2
NUMBER
No
COL7
EDX_RPT
_STATEMENT_FACT
PREVIOUS_BALANCE
Telco and
Utility
1000
Total
Payment
Posted
16,2
NUMBER
No
COL8
EDX_RPT
_STATEMENT_FACT
TOTAL_PAYMENT
_POSTED
Telco and
Utility
1000
Total
Adjustments
10
16,2
NUMBER
No
COL9
EDX_RPT
_STATEMENT_FACT
TOTAL_ADJUSTMENTS
Telco
1000
Balance
Forward Due
11
16,2
NUMBER
No
COL10
EDX_RPT
_STATEMENT_FACT
BALANCE_FORWARD
_DUE
Telco and
Utility
1000
Total Current
Charge Due
12
16,2
NUMBER
No
COL11
EDX_RPT
_STATEMENT_FACT
TOTAL_CURRENT
_CHARGE_DUE
Telco and
Utility
1000
Total Amount
Due
13
16,2
NUMBER
No
COL12
EDX_RPT
_STATEMENT_FACT
TOTAL_AMOUNT_DUE
Telco and
Utility
1000
Monthly
Service
Charges
14
16,2
NUMBER
No
COL13
EDX_RPT
_STATEMENT_FACT
MONTHLY_CHARGE
_AMT
Telco
1000
Usage
Charges
15
16,2
NUMBER
No
COL14
EDX_RPT
_STATEMENT_FACT
USAGE_CHARGE
_AMT
Telco
1000
Credits
16
16,2
NUMBER
No
COL15
EDX_RPT
_STATEMENT_FACT
CREDIT_ADJUST_AMT
Telco and
Utility
1000
Other
Charges
17
16,2
NUMBER
No
COL16
EDX_RPT
_STATEMENT_FACT
OTHER_CHARGE_AMT
Telco
1000
Taxes and
Fees
18
16,2
NUMBER
No
COL17
EDX_RPT
_STATEMENT_FACT
TAXES_SURCHARGES
_FEE
Telco
1000
Flex Field_1
19
16,2
NUMBER
No
COL18
EDX_RPT
_STATEMENT_FACT
FLEX_FIELD1
Telco and
Utility
1000
Flex Field_2
20
16,2
NUMBER
No
COL19
EDX_RPT
_STATEMENT_FACT
FLEX_FIELD2
Telco and
Utility
1000
Flex Field_3
21
16,2
NUMBER
No
COL20
EDX_RPT
_STATEMENT_FACT
FLEX_FIELD3
Telco and
Utility
1000
Flex Field_4
22
16,2
NUMBER
No
COL21
EDX_RPT
_STATEMENT_FACT
FLEX_FIELD4
Telco and
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
37 9
Load Input File Specifications and Data Mapping File Formats for Statement-Level
Information
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
1000
Flex Field_5
23
16,2
NUMBER
No
1000
Minimum
Amount Due
24
16,2
NUMBER
1000
Statement
Due Date
25
1000
Statement
Currency
26
1000
Statement
Country
1000
Industry
Application
DB_TABLE_NAME
DB_COLUMN_NAME
COL22
EDX_RPT
_STATEMENT_FACT
FLEX_FIELD5
Telco and
Utility
No
COL23
EDX_RPT
_STATEMENT_FACT
MINIMUM_DUE_AMT
Telco
DATE
No
COL24
EDX_RPT
_STATEMENT_FACT
STATEMENT_DUE
_DATE
Telco and
Utility
50
VARCHAR2
No
COL25
EDX_RPT
_STATEMENT_FACT
CURRENCY_TYPE_CD
Telco and
Utility
27
50
VARCHAR2
No
COL26
EDX_RPT
_STATEMENT_FACT
COUNTRY_CD
Telco
Statement
Time Zone
28
50
VARCHAR2
No
COL27
EDX_RPT
_STATEMENT_FACT
TIME_ZONE_CD
Telco
1000
Note1
29
2010
VARCHAR2
No
COL28
EDX_RPT
_STATEMENT_FACT
NOTE1
Telco and
Utility
1000
Note2
30
2010
VARCHAR2
No
COL29
EDX_RPT
_STATEMENT_FACT
NOTE2
Telco and
Utility
1000
Note3
31
2010
VARCHAR2
No
COL30
EDX_RPT
_STATEMENT_FACT
NOTE3
Telco and
Utility
1000
Note4
32
2010
VARCHAR2
No
COL31
EDX_RPT
_STATEMENT_FACT
NOTE4
Telco and
Utility
1000
Note5
33
2010
VARCHAR2
No
COL32
EDX_RPT
_STATEMENT_FACT
NOTE5
Telco and
Utility
1000
MEDIA
_TYPE
34
50
VARCHAR2
No
COL33
EDX_RPT
_STATEMENT_FACT
MEDIA_TYPE
Telco
1000
Corporation
Account No
35
255
VARCHAR2
No
COL34
EDX_RPT_COMPANY
_DIM
FLEX_FIELD1
Telco
1000
Corporation
Tax ID
36
255
VARCHAR2
No
COL35
EDX_RPT_COMPANY
_DIM
FLEX_FIELD2
Telco
1000
Flex Field_6
37
255
VARCHAR2
No
COL36
EDX_RPT
_STATEMENT_FACT
FLEX_FIELD6
Telco and
Utility
1000
Flex Field_7
38
255
VARCHAR2
No
COL37
EDX_RPT
_STATEMENT_FACT
FLEX_FIELD7
Telco and
Utility
1000
Flex Field_8
39
255
VARCHAR2
No
COL38
EDX_RPT
_STATEMENT_FACT
FLEX_FIELD8
Telco and
Utility
1000
Company
Display
Name
42
255
VARCHAR2
No
COL41
EDX_RPT_COMPANY
_DIM
FLEX_FIELD3
Telco
380
Load Input File Specifications and Data Mapping File Formats for Statement-Level
Information
Table 145 shows the file format for statement payment fact information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
1100
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
1100
Statement
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_STATEME
NT_PAYMENT_FACT
STATEMENT_KEY
Telco and
Utility
1100
Payment
Type Code
50
VARCHAR2
Yes
COL2
EDX_RPT_STATEME
NT_PAYMENT_FACT
PAYMENT_TYPE_KEY
Telco and
Utility
1100
Payment
Amount
16,2
NUMBER
Yes
COL3
EDX_RPT_STATEME
NT_PAYMENT_FACT
PAYMENT_AMOUNT
Telco and
Utility
1100
Payment
Date
DATE
No
COL4
EDX_RPT_STATEME
NT_PAYMENT_FACT
PAYMENT_DATE
Telco and
Utility
1100
Payment
Note
255
VARCHAR2
No
COL5
EDX_RPT_STATEME
NT_PAYMENT_FACT
PAYMENT_NOTE
Telco and
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 146 shows the file format for statement adjustment fact information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
1200
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
1200
Statement
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_STATEME
NT_ADJUST_FACT
STATEMENT_KEY
Telco and
Utility
1200
Adjustment
Type Code
50
VARCHAR2
Yes
COL2
EDX_RPT_STATEME
NT_ADJUST_FACT
ADJUSTMENT
_TYPE_KEY
Telco and
Utility
1200
Adjustment
Amount
16,2
NUMBER
Yes
COL3
EDX_RPT_STATEME
NT_ADJUST_FACT
ADJUSTMENT
_AMOUNT
Telco and
Utility
1200
Adjustment
Date
DATE
No
COL4
EDX_RPT_STATEME
NT_ADJUST_FACT
ADJUSTMENT
_DATE
Telco and
Utility
1200
Service
Number
20
VARCHAR2
No
COL5
EDX_RPT_STATEME
NT_ADJUST_FACT
SERVICE_NUMBER
Telco and
Utility
1200
Adjustment
Note
255
VARCHAR2
No
COL6
EDX_RPT_STATEME
NT_ADJUST_FACT
ADJUSTMENT_NOTE
Telco and
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
38 1
Load Input File Specifications and Data Mapping File Formats for Account-Level
Information
Table 147 shows the file format for statement mail to address type information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
1300
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
1300
Statement
Number
20
VARCHAR2
Yes
COL1
None
None
Telco and
Utility
1300
Statement
Address
Line 1
50
VARCHAR2
No
COL2
EDX_RPT_ADDRESS
_DIM
ADDRESS1
Telco and
Utility
1300
Statement
Address
Line 2
50
VARCHAR2
No
COL3
EDX_RPT_ADDRESS
_DIM
ADDRESS2
Telco and
Utility
1300
Statement
Address
Line 3
50
VARCHAR2
No
COL4
EDX_RPT_ADDRESS
_DIM
ADDRESS3
Telco and
Utility
1300
Statement
City
50
VARCHAR2
No
COL5
EDX_RPT_ADDRESS
_DIM
CITY
Telco and
Utility
1300
Statement
State
50
VARCHAR2
No
COL6
EDX_RPT_ADDRESS
_DIM
STATE
Telco and
Utility
1300
Statement
Postal
Code
20
VARCHAR2
No
COL7
EDX_RPT_ADDRESS
_DIM
ZIP_CD
Telco and
Utility
1300
Statement
Country
Code
20
VARCHAR2
No
COL8
EDX_RPT_ADDRESS
_DIM
COUNTRY
Telco and
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 148. Account Fact Charges (Charge Summary for Account) File Format
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
2000
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
2000
Statement
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_ACCOUNT
_FACT
STATEMENT_KEY
Telco and
Utility
2000
Account
Number
20
VARCHAR2
Yes
COL2
EDX_RPT_ACCOUNT
_DIM
ACCOUNT_NUM
Telco and
Utility
382
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Load Input File Specifications and Data Mapping File Formats for Account-Level
Information
Table 148. Account Fact Charges (Charge Summary for Account) File Format
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
2000
Account
Owner
Name
255
VARCHAR2
Yes
2000
Address1
200
VARCHAR2
No
Record
Type
DB_COLUMN_NAME
COL3
EDX_RPT_ACCOUNT
_DIM
CONTACT_NAME
Telco and
Utility
COL4
EDX_RPT_ACCOUNT
_DIM,
ADDRESS1,
Telco and
Utility
EDX_RPT_ADDRESS
_DIM
2000
Address2
200
VARCHAR2
No
COL5
EDX_RPT_ACCOUNT
_DIM,
EDX_RPT_ADDRESS
_DIM
2000
City
100
VARCHAR2
No
COL6
EDX_RPT_ACCOUNT
_DIM,
EDX_RPT_ADDRESS
_DIM
2000
State
100
VARCHAR2
No
COL7
EDX_RPT_ACCOUNT
_DIM,
EDX_RPT_ADDRESS
_DIM
2000
Country
100
VARCHAR2
No
COL8
EDX_RPT_ACCOUNT
_DIM,
EDX_RPT_ADDRESS
_DIM
2000
Zip
10
20
VARCHAR2
No
Industry
Application
DB_TABLE_NAME
COL9
EDX_RPT_ACCOUNT
_DIM,
EDX_RPT_ADDRESS
_DIM
ADDRESS1
ADDRESS2,
ADDRESS2
CITY,
CITY
STATE,
STATE
COUNTRY,
COUNTRY
ZIP,
ZIP
Telco and
Utility
Telco and
Utility
Telco and
Utility
Telco and
Utility
Telco and
Utility
2000
Monthly
Service
Charges
11
16,2
NUMBER
Yes
COL 10
EDX_RPT_ACCOUNT
_FACT
MONTHLY_CHARGE
_AMT
Telco and
Utility
2000
Usage
Charges
12
16,2
NUMBER
Yes
COL 11
EDX_RPT_ACCOUNT
_FACT
USAGE_CHARGE
_AMT
Telco and
Utility
2000
Credits
13
16,2
NUMBER
Yes
COL 12
EDX_RPT_ACCOUNT
_FACT
CREDIT_ADJUST
_AMT
Telco and
Utility
2000
Other
Charges
14
16,2
NUMBER
Yes
COL 13
EDX_RPT_ACCOUNT
_FACT
OTHER_CHARGE
_AMT
Telco and
Utility
2000
Taxes and
Fees
15
16,2
NUMBER
Yes
COL 14
EDX_RPT_ACCOUNT
_FACT
TAXES_SURCHARGES_
FEE
Telco and
Utility
2000
Total
Charge
Amount
16
16,2
NUMBER
Yes
COL15
EDX_RPT_ACCOUNT
_FACT
TOTAL_CHARGE_AMT
Telco and
Utility
2000
Charge
Flag
17
VARCHAR2
Yes
COL16
EDX_RPT_ACCOUNT
_FACT
CHARGE_FLAG
Telco and
Utility
2000
Account
Type
18
20
VARCHAR2
No
COL17
EDX_RPT_ACCOUNT
_DIM
ACCOUNT_TYPE_KEY
Telco and
Utility
2000
Flex
Field_1
19
16,2
NUMBER
No
COL18
EDX_RPT_ACCOUNT
_FACT
FLEX_FIELD1
Telco and
Utility
2000
Flex
Field_2
20
16,2
NUMBER
No
COL19
EDX_RPT_ACCOUNT
_FACT
FLEX_FIELD2
Telco and
Utility
2000
Flex
Field_3
21
16,2
NUMBER
No
COL20
EDX_RPT_ACCOUNT
_FACT
FLEX_FIELD3
Telco and
Utility
38 3
Load Input File Specifications and Data Mapping File Formats for Account-Level
Information
Table 148. Account Fact Charges (Charge Summary for Account) File Format
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
2000
Flex
Field_4
22
16,2
NUMBER
No
2000
Flex
Field_5
23
16,2
NUMBER
2000
Address3
24
200
VARCHAR2
Record
Type
Industry
Application
DB_TABLE_NAME
DB_COLUMN_NAME
COL21
EDX_RPT_ACCOUNT
_FACT
FLEX_FIELD4
Telco and
Utility
No
COL22
EDX_RPT_ACCOUNT
_FACT
FLEX_FIELD5
Telco and
Utility
No
COL23
EDX_RPT_ACCOUNT
_DIM,
ADDRESS3,
Telco and
Utility
EDX_RPT_ADDRESS
_DIM
ADDRESS3
2000
Auto Debit
Payment
Date
25
DATE
No
COL24
EDX_RPT_ACCOUNT
_FACT
AUTO_PAYMENT
_DR_DT
Utility
2000
Cycle End
Day
26
NUMBER
No
COL25
EDX_RPT_ACCOUNT
_DIM
BILL_CYCLE_ENDDAY
Telco
Table 149 shows the file format for account level charges at the charge type level information.
Table 149. Account Level Charges at Charge Type Level File Format
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
2100
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
2100
Statement
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_ACCOUNT
_CHARGE_FACT
STATEMENT_KEY
Telco and
Utility
2100
Account
Number
20
VARCHAR2
Yes
COL2
EDX_RPT_ACCOUNT
_CHARGE_FACT
ACCOUNT_KEY
Telco and
Utility
2100
Charge
Type Code
50
VARCHAR2
Yes
COL3
EDX_RPT_ACCOUNT
_CHARGE_FACT
CHARGE_TYPE_KEY
Telco and
Utility
2100
Monthly
Service
Charges
16,2
NUMBER
Yes
COL4
EDX_RPT_ACCOUNT
_CHARGE_FACT
MONTHLY_CHARGE
_AMT
Telco and
Utility
2100
Usage
Charges
16,2
NUMBER
Yes
COL5
EDX_RPT_ACCOUNT
_CHARGE_FACT
USAGE_CHARGE
_AMT
Telco and
Utility
2100
Credits
16,2
NUMBER
Yes
COL6
EDX_RPT_ACCOUNT
_CHARGE_FACT
CREDIT_ADJUST
_AMT
Telco and
Utility
2100
Other
Charges
16,2
NUMBER
Yes
COL7
EDX_RPT_ACCOUNT
_CHARGE_FACT
OTHER_CHARGE_AMT
Telco and
Utility
2100
Taxes and
Fees
16,2
NUMBER
Yes
COL8
EDX_RPT_ACCOUNT
_CHARGE_FACT
TAXES_SURCHARGES
_FEE
Telco and
Utility
2100
Total
Charge
Amount
10
16,2
NUMBER
Yes
COL9
EDX_RPT_ACCOUNT
_CHARGE_FACT
TOTAL_CHARGE_AMT
Telco and
Utility
2100
Charge
Note
11
255
VARCHAR2
No
COL10
EDX_RPT_ACCOUNT
_CHARGE_FACT
CHARGE_NOTE
Telco and
Utility
384
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Load Input File Specifications and Data Mapping File Formats for Service-Level
Information
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
3000
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
3000
Statement
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_SERVICE
_FACT
STATEMENT_KEY
Telco and
Utility
3000
Account
Number
20
VARCHAR2
Yes
COL2
EDX_RPT_SERVICE
_DIM
ACCOUNT_KEY
Telco and
Utility
3000
Service
Number
20
VARCHAR2
Yes
COL3
EDX_RPT_SERVICE
_DIM
SERVICE_NUM
Telco and
Utility
3000
Service
Owner
Name
100
VARCHAR2
No
COL4
None
None
Telco and
Utility
3000
Monthly
Service
Charges
16,2
NUMBER
Yes
COL5
EDX_RPT_SERVICE
_FACT
MONTHLY_CHARGE
_AMT
Telco and
Utility
3000
Usage
Charges
16,2
NUMBER
Yes
COL6
EDX_RPT_SERVICE
_FACT
USAGE_CHARGE_AMT
Telco and
Utility
3000
Adjustments
16,2
NUMBER
Yes
COL7
EDX_RPT_SERVICE
_FACT
CREDIT_ADJUST_AMT
Telco and
Utility
3000
Other
Charges
16,2
NUMBER
Yes
COL8
EDX_RPT_SERVICE
_FACT
OTHER_CHARGE_AMT
Telco and
Utility
3000
Taxes and
Fees
10
16,2
NUMBER
Yes
COL9
EDX_RPT_SERVICE
_FACT
TAXES_SURCHARGES_
FEE
Telco and
Utility
3000
Total Charge
Amount
11
16,2
NUMBER
Yes
COL10
EDX_RPT_SERVICE
_FACT
TOTAL_CHARGE_AMT
Telco and
Utility
3000
Charge Note
12
255
VARCHAR2
No
COL11
EDX_RPT_SERVICE
_FACT
CHARGE_NOTE
Telco and
Utility
3000
Flex Field_1
13
16,2
NUMBER
No
COL12
EDX_RPT_SERVICE
_FACT
FLEX_FIELD1
Telco and
Utility
3000
Flex Field_2
14
16,2
NUMBER
No
COL13
EDX_RPT_SERVICE
_FACT
FLEX_FIELD2
Telco and
Utility
3000
Flex Field_3
15
16,2
NUMBER
No
COL14
EDX_RPT_SERVICE
_FACT
FLEX_FIELD3
Telco and
Utility
3000
Flex Field_4
16
16,2
NUMBER
No
COL15
EDX_RPT_SERVICE
_FACT
FLEX_FIELD4
Telco and
Utility
3000
Flex Field_5
17
16,2
NUMBER
No
COL16
EDX_RPT_SERVICE
_FACT
FLEX_FIELD5
Telco and
Utility
3000
Sub Charge
Type Code
18
50
VARCHAR2
No
COL17
EDX_RPT_SERVICE
_DIM
SERVICE_TYPE_KEY
Utility
3000
Service
Start Date
19
DATE
No
COL18
EDX_RPT_SERVICE
_FACT
START_DT
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
38 5
Load Input File Specifications and Data Mapping File Formats for Service-Level
Information
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
3000
Service End
Date
20
DATE
No
3000
Premise ID
21
20
VARCHAR2
3000
Zoning
22
21
VARCHAR2
Record
Type
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
COL19
EDX_RPT_SERVICE
_FACT
END_DT
Utility
No
COL20
EDX_RPT_SERVICE
_FACT
PREMISE_KEY
Utility
No
COL21
EDX_RPT_SERVICE
_DIM
ZONING
Utility
Table 151 shows the file format for the service level on charge type information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
3100
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
3100
Statement
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_SERVICE
_CHARGE_FACT
STATEMENT_KEY
Telco and
Utility
3100
Account
Number
20
VARCHAR2
Yes
COL2
EDX_RPT_SERVICE
_CHARGE_FACT
ACCOUNT_KEY
Telco and
Utility
3100
Service
Number
20
VARCHAR2
Yes
COL3
EDX_RPT_SERVICE
_CHARGE_FACT
SERVICE_KEY
Telco and
Utility
3100
Charge
Type Code
50
VARCHAR2
Yes
COL4
EDX_RPT_SERVICE
_CHARGE_FACT
CHARGE_TYPE_KEY
Telco and
Utility
3100
Sub
Charge
Type Code
50
VARCHAR2
No
COL5
EDX_RPT_SERVICE
_CHARGE_FACT
SUB_CHARGE_TYPE
_KEY
Telco and
Utility
3100
Monthly
Charge
Amount
10
NUMBER
Yes
COL6
EDX_RPT_SERVICE
_CHARGE_FACT
CHARGE_AMT
Telco and
Utility
3100
Charge
Note
255
VARCHAR2
No
COL7
EDX_RPT_SERVICE
_CHARGE_FACT
CHARGE_NOTE
Telco and
Utility
3100
Service
Start Date
DATE
No
COL8
EDX_RPT_SERVICE
_CHARGE_FACT
START_DT
Utility
3100
Service
End Date
10
DATE
No
COL9
EDX_RPT_SERVICE
_CHARGE_FACT
END_DT
Utility
3100
Charge
Note Code
11
50
VARCHAR2
No
COL10
EDX_RPT_SERVICE
_CHARGE_FACT
NOTES_KEY
Utility
386
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Load Input File Specifications and Data Mapping File Formats for Service-Level
Information
Table 152 shows the file format for the service charge on product and plan information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
3200
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco
3200
Statement
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_SERVICE
_PRODUCT_FACT
STATEMENT_KEY
Telco
3200
Account
Number
20
VARCHAR2
Yes
COL2
EDX_RPT_SERVICE
_PRODUCT_FACT
ACCOUNT_KEY
Telco
3200
Service
Number
20
VARCHAR2
Yes
COL3
EDX_RPT_SERVICE
_PRODUCT_FACT
SERVICE_KEY
Telco
3200
Plan Type
Code
50
VARCHAR2
Yes
COL4
EDX_RPT_SERVICE
_PRODUCT_FACT
PLAN_TYPE_KEY
Telco
3200
Product
Code
50
VARCHAR2
Yes
COL5
EDX_RPT_SERVICE
_PRODUCT_FACT
PRODUCT_PARENT_KE
Y
Telco
3200
Monthly
Charge
Amount
16,2
NUMBER
Yes
COL6
EDX_RPT_SERVICE
_PRODUCT_FACT
CHARGE_AMT
Telco
3200
Product
Note
255
VARCHAR2
No
COL7
EDX_RPT_SERVICE
_PRODUCT_FACT
PRODUCT_NOTE
Telco
3200
Product
Subcode
50
VARCHAR2
Yes
COL8
EDX_RPT_SERVICE
_PRODUCT_FACT
PRODUCT_CHILD_KEY
Telco
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 153 shows the file format for service charge on usage type information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
3300
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco and
Utility
3300
Statement
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_SERVICE
_USAGE_FACT
STATEMENT_KEY
Telco and
Utility
3300
Account
Number
20
VARCHAR2
Yes
COL2
EDX_RPT_SERVICE
_USAGE_FACT
ACCOUNT_KEY
Telco and
Utility
3300
Service
Number
20
VARCHAR2
Yes
COL3
EDX_RPT_SERVICE
_USAGE_FACT
SERVICE_KEY
Telco and
Utility
3300
Usage Type
Code
50
VARCHAR2
Yes
COL4
EDX_RPT_SERVICE
_USAGE_FACT
USAGE_TYPE_KEY
Telco and
Utility
3300
Total
Usage
16,2
NUMBER
Yes
COL5
EDX_RPT_SERVICE
_USAGE_FACT
TOTAL_USAGE
Telco and
Utility
3300
Usage Unit
Code
50
VARCHAR2
Yes
COL6
EDX_RPT_SERVICE
_USAGE_FACT
UNIT_KEY
Telco and
Utility
3300
Amount
16,2
NUMBER
Yes
COL7
EDX_RPT_SERVICE
_USAGE_FACT
TOTAL_CHARGE_AMT
Telco and
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
38 7
Load Input File Specifications and Data Mapping File Formats for Service-Level
Information
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
3300
Usage Note
255
VARCHAR2
No
3300
Gross
Amount
10
16,2
NUMBER
3300
Discount
Amount
11
16,2
3300
Tax
Amount
12
3300
Total Call
Count
13
Industry
Application
DB_TABLE_NAME
DB_COLUMN_NAME
COL8
EDX_RPT_SERVICE
_USAGE_FACT
USAGE_NOTE
Telco and
Utility
No
COL9
EDX_RPT_SERVICE
_USAGE_FACT
GROSS_AMT
Telco and
Utility
NUMBER
No
COL10
EDX_RPT_SERVICE
_USAGE_FACT
DISCOUNT_AMT
Telco and
Utility
16,2
NUMBER
No
COL11
EDX_RPT_SERVICE
_USAGE_FACT
TAX_AMT
Telco and
Utility
16
NUMBER
No
COL12
EDX_RPT_SERVICE
_USAGE_FACT
TOTAL_CALL_CNT
Telco and
Utility
Table 154 shows the file format for the service charges on various tariff information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
3400
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco
3400
Statement
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_SERVICE
_TARIFF_FACT
STATEMENT_KEY
Telco
3400
Account
Number
20
VARCHAR2
Yes
COL2
EDX_RPT_SERVICE
_TARIFF_FACT
ACCOUNT_KEY
Telco
3400
Service
Number
20
VARCHAR2
Yes
COL3
EDX_RPT_SERVICE
_TARIFF_FACT
SERVICE_KEY
Telco
3400
Usage Type
Code
50
VARCHAR2
Yes
COL4
EDX_RPT_SERVICE
_TARIFF_FACT
USAGE_TYPE_KEY
Telco
3400
Tariff Code
50
VARCHAR2
Yes
COL5
EDX_RPT_SERVICE
_TARIFF_FACT
TARIFF_KEY
Telco
3400
Allowance
20
VARCHAR2
Yes
COL6
EDX_RPT_SERVICE
_TARIFF_FACT
ALLOWANCE
Telco
3400
Total
Usages
16,2
NUMBER
Yes
COL7
EDX_RPT_SERVICE
_TARIFF_FACT
TOTAL_USAGE
Telco
3400
Usage Unit
Code
50
VARCHAR2
Yes
EDX_RPT_SERVICE
_TARIFF_FACT
UNIT_KEY
Telco
3400
Billable
10
16,2
NUMBER
Yes
COL9
EDX_RPT_SERVICE
_TARIFF_FACT
BILLABLE
Telco
3400
Amount
11
16,2
NUMBER
Yes
COL10
EDX_RPT_SERVICE
_TARIFF_FACT
CHARGE_AMT
Telco
3400
Gross
Amount
12
16,2
NUMBER
No
COL11
EDX_RPT_SERVICE
_TARIFF_FACT
GROSS_AMT
Telco and
Utility
3400
Discount
Amount
13
16,2
NUMBER
No
COL12
EDX_RPT_SERVICE
_TARIFF_FACT
DISCOUNT_AMT
Telco and
Utility
3400
Tax
Amount
14
16,2
NUMBER
No
COL13
EDX_RPT_SERVICE
_TARIFF_FACT
TAX_AMT
Telco and
Utility
388
COL8
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Load Input File Specifications and Data Mapping File Formats for Service Detail-Level
Information
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
3500
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Utility
3500
Statement
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_SERVICE
_MISC_FACT
STATEMENT_KEY
Utility
3500
Account
Number
20
VARCHAR2
Yes
COL2
EDX_RPT_SERVICE
_MISC_FACT
ACCOUNT_KEY
Utility
3500
Service
Number
20
VARCHAR2
Yes
COL3
EDX_RPT_SERVICE
_MISC_FACT
SERVICE_KEY
Utility
3500
Charge
Description
255
VARCHAR2
No
COL4
EDX_RPT_SERVICE
_MISC_FACT
MISC_COMMENT
Utility
3500
Total
Amount
16,2
NUMBER
Yes
COL5
EDX_RPT_SERVICE
_MISC_FACT
MISC_AMOUNT
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 156. Services Call Usage Detail (Voice, Data, Message) File Format
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
4000
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Telco
4000
Usage
Name
50
VARCHAR2
Yes
COL1
EDX_RPT_SERVICE
_DETAIL_FACT
USAGE_TYPE_KEY
Telco
4000
Statement
Number
20
VARCHAR2
Yes
COL2
EDX_RPT_SERVICE
_DETAIL_FACT
STATEMENT_KEY
Telco
4000
Account
Number
20
VARCHAR2
Yes
COL3
EDX_RPT_SERVICE
_DETAIL_FACT
ACCOUNT_KEY
Telco
4000
Service
Number
20
VARCHAR2
Yes
COL4
EDX_RPT_SERVICE
_DETAIL_FACT
SERVICE_KEY
Telco
4000
Called
Date
DATE
Yes
COL5
EDX_RPT_SERVICE
_DETAIL_FACT
DATE_KEY
Telco
4000
Called
Time
10
VARCHAR2
Yes
COL6
EDX_RPT_SERVICE
_DETAIL_FACT
DURATION
Telco
4000
Called
Number
20
VARCHAR2
Yes
COL7
EDX_RPT_SERVICE
_DETAIL_FACT
CALLED_NUM
Telco
4000
Tariff Code
50
VARCHAR2
Yes
COL8
EDX_RPT_SERVICE
_DETAIL_FACT
TARIFF_KEY
Telco
4000
Call Type
Code
10
50
VARCHAR2
No
COL9
EDX_RPT_SERVICE
_DETAIL_FACT
CALL_TYPE_KEY
Telco
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
38 9
Load Input File Specifications and Data Mapping File Formats for Service Detail-Level
Information
Table 156. Services Call Usage Detail (Voice, Data, Message) File Format
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
4000
Direction
Code
11
20
VARCHAR2
Yes
4000
Service
Type Code
12
50
VARCHAR2
4000
Total
Usages
13
16,2
4000
Usages
Unit Code
14
4000
Other
Charge
4000
Record
Type
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
COL10
EDX_RPT_SERVICE
_DETAIL_FACT
DIRECTION_KEY
Telco
No
COL11
EDX_RPT_SERVICE
_DETAIL_FACT
SERVICE_TYPE_KEY
Telco
NUMBER
Yes
COL12
EDX_RPT_SERVICE
_DETAIL_FACT
TOTAL_USAGE
Telco
50
VARCHAR2
Yes
COL13
EDX_RPT_SERVICE
_DETAIL_FACT
UNIT_KEY
Telco
15
16,2
NUMBER
Yes
COL14
EDX_RPT_SERVICE
_DETAIL_FACT
OTHER_CHARGE
_AMT
Telco
Total
Charge
16
16,2
NUMBER
Yes
COL15
EDX_RPT_SERVICE
_DETAIL_FACT
TOTAL_CHARGE_AMT
Telco
4000
Calling City
and State
17
100
VARCHAR2
Yes
COL16
EDX_RPT_SERVICE
_DETAIL_FACT
CALLING_AREA_CD
_KEY
Telco
4000
Calling
Country
Code
18
100
VARCHAR2
Yes
COL17
EDX_RPT_SERVICE
_DETAIL_FACT
CALLING_AREA_CD
_KEY
Telco
4000
Reference
Number
19
100
VARCHAR2
No
COL18
EDX_RPT_SERVICE
_DETAIL_FACT
REFERENCE_NUM
Telco
4000
Carrier
Code
20
50
VARCHAR2
No
COL19
EDX_RPT_SERVICE
_DETAIL_FACT
CARRIER_KEY
Telco
4000
Region
Code
21
50
VARCHAR2
No
COL20
EDX_RPT_SERVICE
_DETAIL_FACT
REGION_KEY
Telco
4000
Note1
22
2000
VARCHAR2
No
COL21
EDX_RPT_SERVICE
_DETAIL_FACT
NOTE1
Telco
4000
Note2
23
2000
VARCHAR2
No
COL22
EDX_RPT_SERVICE
_DETAIL_FACT
NOTE2
Telco
4000
Note3
24
2000
VARCHAR2
No
COL23
EDX_RPT_SERVICE
_DETAIL_FACT
NOTE3
Telco
4000
Note4
25
2000
VARCHAR2
No
COL24
EDX_RPT_SERVICE
_DETAIL_FACT
NOTE4
Telco
4000
Note5
26
2000
VARCHAR2
No
COL25
EDX_RPT_SERVICE
_DETAIL_FACT
NOTE5
Telco
4000
Called City
and State
27
100
VARCHAR2
Yes
COL26
EDX_RPT_SERVICE
_DETAIL_FACT
CALLED_AREA_CD
_KEY
Telco
4000
Called
Country
Code
28
100
VARCHAR2
Yes
COL27
EDX_RPT_SERVICE
_DETAIL_FACT
CALLED_AREA_CD
_KEY
Telco
4000
Gross
Amount
29
16,2
NUMBER
No
COL28
EDX_RPT_SERVICE
_DETAIL_FACT
GROSS_AMT
Telco and
Utility
4000
Discount
Amount
30
16,2
NUMBER
No
COL29
EDX_RPT_SERVICE
_DETAIL_FACT
DISCOUNT_AMT
Telco and
Utility
4000
Tax
Amount
31
16,2
NUMBER
No
COL30
EDX_RPT_SERVICE
_DETAIL_FACT
TAX_AMT
Telco and
Utility
390
Load Input File Specifications and Data Mapping File Formats for Service Detail-Level
Information
Table 157 shows the file format for the premise data information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
5000
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Utility
5000
Statement
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_PREMISE
_DIM
STATEMENT_KEY
Utility
5000
Account
Number
20
VARCHAR2
Yes
COL2
EDX_RPT_PREMISE
_DIM
ACCOUNT_KEY
Utility
5000
Premise ID
20
VARCHAR2
Yes
COL3
EDX_RPT_PREMISE
_DIM
PREMISE_KEY
Utility
5000
Address
Line 1
200
VARCHAR2
Yes
COL4
EDX_RPT_PREMISE
_DIM
ADDRESS1
Utility
5000
Address
Line 2
200
VARCHAR2
No
COL5
EDX_RPT_PREMISE
_DIM
ADDRESS2
Utility
5000
Address
Line 3
200
VARCHAR2
No
COL6
EDX_RPT_PREMISE
_DIM
ADDRESS3
Utility
5000
City
100
VARCHAR2
No
COL7
EDX_RPT_PREMISE
_DIM
CITY
Utility
5000
State
100
VARCHAR2
No
COL8
EDX_RPT_PREMISE
_DIM
STATE
Utility
5000
Postal
Code
10
20
VARCHAR2
No
COL9
EDX_RPT_PREMISE
_DIM
ZIP_CD
Utility
5000
Country
11
100
VARCHAR2
No
COL10
EDX_RPT_PREMISE
_DIM
COUNTRY
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 158 shows the file format for the consumption data information.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
5100
Rec Type
VARCHAR2
No
REC_TYPE
None
None
Utility
5100
Statement
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_CONSUM
_FACT
STATEMENT_KEY
Utility
5100
Account
Number
20
VARCHAR2
Yes
COL2
EDX_RPT_CONSUM
_FACT
ACCOUNT_KEY
Utility
5100
Service
Agreement
ID
20
VARCHAR2
Yes
COL3
EDX_RPT_CONSUM
_FACT
SERVICE_KEY
Utility
5100
Premise ID
20
VARCHAR2
Yes
COL4
EDX_RPT_CONSUM
_FACT
PREMISE_KEY
Utility
5100
Meter
Number
20
VARCHAR2
Yes
COL5
EDX_RPT_CONSUM
_FACT
METER_NUMBER
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
39 1
Load Input File Specifications and Data Mapping File Formats for Service Detail-Level
Information
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
5100
Service
Unit Code
50
VARCHAR2
No
5100
Start Meter
Reading
Amount
16,2
NUMBER
5100
Start Meter
Reading
Date
5100
Start Meter
Reading
Time
10
5100
Start
Reading
Estimated
Flag
5100
Record
Type
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
COL6
EDX_RPT_CONSUM
_FACT
UNIT_KEY
Utility
No
COL7
EDX_RPT_CONSUM
_FACT
START_AMT_CONSUM
Utility
DATE
No
COL8
EDX_RPT_CONSUM
_FACT
START_READING_DT
Utility
DATE
No
COL9
EDX_RPT_CONSUM
_FACT
START_READING_TM
Utility
11
10
VARCHAR2
No
COL10
EDX_RPT_CONSUM
_FACT
START_READING_EST
Utility
End Meter
Reading
Amount
12
16,2
NUMBER
No
COL11
EDX_RPT_CONSUM
_FACT
END_AMT_CONSUM
Utility
5100
End Meter
Reading
Date
13
DATE
No
COL12
EDX_RPT_CONSUM
_FACT
END_READING_DT
Utility
5100
End Meter
Reading
Time
14
DATE
No
COL13
EDX_RPT_CONSUM
_FACT
END_READING_TM
Utility
5100
End
Reading
Estimated
Flag
15
10
VARCHAR2
No
COL14
EDX_RPT_CONSUM
_FACT
END_READING_EST
Utility
5100
Multiplier
16
10
NUMBER
No
COL15
EDX_RPT_CONSUM
_FACT
MULTIPLIER
Utility
5100
Measure
Quantity
17
16,2
NUMBER
No
COL16
EDX_RPT_CONSUM
_FACT
MEASURE_QTY
Utility
5100
Time of
Use
18
16,2
NUMBER
No
COL17
EDX_RPT_CONSUM
_FACT
TIMEOFUSE
Utility
5100
Billed
Quantity
19
16,2
NUMBER
No
COL18
EDX_RPT_CONSUM
_FACT
BILLED_QTY
Utility
5100
Service
Usage Type
Code
20
50
VARCHAR2
No
COL19
EDX_RPT_CONSUM
_FACT
USAGE_TYPE_KEY
Utility
392
Load Input File Specifications and Data Mapping File Formats for Unbilled Detail-Level
Information
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
4900
Rec Type
VARCHAR2
Yes
REC_TYPE
None
None
Telco
4900
Account
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_UNBILLED
_DETAIL _FACT
ACCOUNT_KEY
Telco
4900
Service
Number
20
VARCHAR2
Yes
COL2
EDX_RPT_UNBILLED
_DETAIL _FACT
SERVICE_KEY
Telco
4900
Called
Date
DATE
Yes
COL3
EDX_RPT_UNBILLED
_DETAIL _FACT
DATE_KEY
Telco
4900
Duration
10
VARCHAR2
Yes
COL4
EDX_RPT_UNBILLED
_DETAIL _FACT
TIME_KEY
Telco
4900
Called
Number
20
VARCHAR2
Yes
COL5
EDX_RPT_UNBILLED
_DETAIL _FACT
CALLED_NUM
Telco
4900
Usage Type
Code
50
VARCHAR2
Yes
COL6
EDX_RPT_UNBILLED
_DETAIL _FACT
USAGE_TYPE_KEY
Telco
4900
Tariff Code
50
VARCHAR2
Yes
COL7
EDX_RPT_UNBILLED
_DETAIL _FACT
TARIFF_KEY
Telco
4900
Usage Unit
Code
50
VARCHAR2
Yes
COL8
EDX_RPT_UNBILLED
_DETAIL _FACT
UNIT_KEY
Telco
4900
Call Type
Code
10
50
VARCHAR2
No
COL9
EDX_RPT_UNBILLED
_DETAIL _FACT
CALL_TYPE_KEY
Telco
4900
Direction
Code
11
20
VARCHAR2
Yes
EDX_RPT_UNBILLED
_DETAIL _FACT
DIRECTION_KEY
Telco
4900
Calling
City, State
Code
12
100
VARCHAR2
Yes
COL11
EDX_RPT_UNBILLED
_DETAIL _FACT
CALLING_AREA
_CD_KEY
Telco
4900
Calling
Country
Code
13
100
VARCHAR2
Yes
COL12
EDX_RPT_UNBILLED
_DETAIL _FACT
CALLING_AREA
_CD_KEY
Telco
4900
Called City,
State Code
14
100
VARCHAR2
Yes
COL13
EDX_RPT_UNBILLED
_DETAIL _FACT
CALLED_AREA
_CD_KEY
Telco
COL10
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
39 3
Load Input File Specifications and Data Mapping File Formats for Unbilled Detail-Level
Information
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
4900
Called
Country
Code
15
100
VARCHAR2
Yes
4900
Total
Usages
16
16,2
NUMBER
4900
Total
Charge
17
16,2
4900
Other
Charge
16
4900
FlexField1
4900
Record
Type
Industry
Application
DB_TABLE_NAME
DB_COLUMN_NAME
COL14
EDX_RPT_UNBILLED
_DETAIL _FACT
CALLED_AREA
_CD_KEY
Telco
Yes
COL15
EDX_RPT_UNBILLED
_DETAIL _FACT
TOTAL_USAGE
Telco
NUMBER
Yes
COL16
EDX_RPT_UNBILLED
_DETAIL _FACT
TOTAL_CHARGE_AMT
Telco
16,2
NUMBER
No
COL17
EDX_RPT_UNBILLED
_DETAIL _FACT
OTHER_CHARGE_AMT
Telco
17
255
VARCHAR2
No
COL18
EDX_RPT_UNBILLED
_DETAIL _FACT
FLEX_FIELD1
Telco
FlexField2
18
255
VARCHAR2
No
COL19
EDX_RPT_UNBILLED
_DETAIL _FACT
FLEX_FIELD2
Telco
4900
FlexField3
19
255
VARCHAR2
No
COL20
EDX_RPT_UNBILLED
_DETAIL _FACT
FLEX_FIELD3
Telco
4900
FlexField4
20
255
VARCHAR2
No
COL21
EDX_RPT_UNBILLED
_DETAIL _FACT
FLEX_FIELD4
Telco
4900
FlexField5
21
255
VARCHAR2
No
COL22
EDX_RPT_UNBILLED
_DETAIL _FACT
FLEX_FIELD5
Telco
4900
FlexField6
22
16,2
NUMBER
No
COL23
EDX_RPT_UNBILLED
_DETAIL _FACT
FLEX_FIELD6
Telco
4900
FlexField7
23
16,2
NUMBER
No
COL24
EDX_RPT_UNBILLED
_DETAIL _FACT
FLEX_FIELD7
Telco
4900
FlexFiel
d8
24
16,
2
NUMBE
R
No
COL25
EDX_RPT_UN
BILLED_DETA
IL _FACT
FLEX_FIELD8
Telco
4900
FlexFiel
d9
25
DATE
No
COL26
EDX_RPT_UN
BILLED_DETA
IL _FACT
FLEX_FIELD9
Telco
4900
FlexFiel
d10
26
DATE
No
COL27
EDX_RPT_UN
BILLED_DETA
IL _FACT
FLEX_FIELD10
Telco
4900
Allowa
nce
27
20
VARCH
AR2
No
COL28
EDX_RPT_UN
BILLED_DETA
IL _FACT
ALLOWANCE
Telco
4900
Gross
Amoun
t
28
16,
2
NUMBE
R
No
COL29
EDX_RPT_UN
BILLED_DETA
IL _FACT
GROSS_AMT
Telco and
Utility
394
Record
Type
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
29
16,
2
NUMBE
R
No
30
16,
2
NUMBE
R
No
Field
Pos
4900
Discou
nt
Amoun
t
4900
Tax
Amoun
t
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
COL30
EDX_RPT_UN
BILLED_DETA
IL _FACT
DISCOUNT_AM
T
Telco and
Utility
COL31
EDX_RPT_UN
BILLED_DETA
IL _FACT
TAX_AMT
Telco and
Utility
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
9000
Rec Type
VARCHAR2
Yes
None
None
None
Telco
9000
Account
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_PREPAY_
ACCOUNT_FACT
ACCOUNT_KEY
Telco
9000
Month
Charge
Amt
16,2
NUMBER
Yes
COL2
EDX_RPT_PREPAY_
ACCOUNT_FACT
MONTHLY_CHARGE
_AMT
Telco
9000
Usage Amt
16,2
NUMBER
No
COL3
EDX_RPT_PREPAY_
ACCOUNT_FACT
USAGE_CHARGE
_AMT
Telco
9000
Adjustmen
t Amt
16,2
NUMBER
No
COL4
EDX_RPT_PREPAY_
ACCOUNT_FACT
ADJUST_AMT
Telco
9000
Other
Charges
Amt
16,2
NUMBER
No
COL5
EDX_RPT_PREPAY_
ACCOUNT_FACT
OTHER_CHARGE_AMT
Telco
9000
Taxes and
Fees
16,2
NUMBER
No
COL6
EDX_RPT_PREPAY_
ACCOUNT_FACT
TAXES_SURCHARGES_
FEE
Telco
9000
Total
Charge
Amt
16,2
NUMBER
Yes
COL7
EDX_RPT_PREPAY_
ACCOUNT_FACT
TOTAL_CHARGE_AMT
Telco
9000
Top Off
Date
DATE
Yes
COL8
EDX_RPT_PREPAY_
ACCOUNT_FACT
TOP_OFF_DATE
Telco
9000
Expiry
Date
10
DATE
Yes
COL9
EDX_RPT_PREPAY_
ACCOUNT_FACT
EXPIRY_DATE
Telco
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
39 5
Load Input File Specifications and Data Mapping File Formats for Prepaid Information
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
9000
FlexField1
17
225
VARCHAR2
No
9000
FlexField2
18
225
VARCHAR2
9000
FlexField3
19
225
9000
FlexField4
20
9000
FlexField5
9000
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
COL10
EDX_RPT_PREPAY_
ACCOUNT_FACT
FLEX_FIELD1
Telco
No
COL11
EDX_RPT_PREPAY_
ACCOUNT_FACT
FLEX_FIELD2
Telco
VARCHAR2
No
COL12
EDX_RPT_PREPAY_
ACCOUNT_FACT
FLEX_FIELD3
Telco
225
VARCHAR2
No
COL13
EDX_RPT_PREPAY_
ACCOUNT_FACT
FLEX_FIELD4
Telco
21
225
VARCHAR2
No
COL14
EDX_RPT_PREPAY_
ACCOUNT_FACT
FLEX_FIELD5
Telco
FlexField6
22
16,2
NUMBER
No
COL15
EDX_RPT_PREPAY_
ACCOUNT_FACT
FLEX_FIELD6
Telco
9000
FlexField7
23
16,2
NUMBER
No
COL16
EDX_RPT_PREPAY_
ACCOUNT_FACT
FLEX_FIELD7
Telco
9000
FlexField8
24
16,2
NUMBER
No
COL17
EDX_RPT_PREPAY_
ACCOUNT_FACT
FLEX_FIELD8
Telco
9000
FlexField9
25
DATE
No
COL18
EDX_RPT_PREPAY_
ACCOUNT_FACT
FLEX_FIELD9
Telco
9000
FlexField10
26
DATE
No
COL19
EDX_RPT_PREPAY_
ACCOUNT_FACT
FLEX_FIELD10
Telco
9000
Remaining
Balance
27
16,2
NUMBER
No
COL20
EDX_RPT_PREPAY_
ACCOUNT_FACT
REMAIN_BAL_AMT
Telco
9000
Remaining
Balance as
of
28
DATE
No
COL21
EDX_RPT_PREPAY_
ACCOUNT_FACT
REMAIN_BAL_AS_OF
Telco
Table 161 shows the file format for prepaid product information. This table stores charges for a
product and plan.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
9200
Rec Type
VARCHAR2
Yes
REC_TYPE
None
None
Telco
9200
Account
20
VARCHAR2
Yes
COL1
EDX_RPT_PREPAY_P
RODUCT_FACT
ACCOUNT_KEY
Telco
20
VARCHAR2
Yes
COL2
EDX_RPT_PREPAY_P
RODUCT_FACT
SERVICE_KEY
Telco
Number
9200
Service
Number
396
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Load Input File Specifications and Data Mapping File Formats for Prepaid Information
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
9200
Plan Type
50
VARCHAR2
Yes
50
VARCHAR2
Yes
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
COL3
EDX_RPT_PREPAY_P
RODUCT_FACT
PLAN_TYPE_KEY
Telco
COL4
EDX_RPT_PREPAY_P
RODUCT_FACT
PRODUCT_PARENT
Telco
Code
9200
Product
Code
9200
Monthly
_KEY
16,2
NUMBER
Yes
COL5
EDX_RPT_PREPAY_P
RODUCT_FACT
CHARGE_AMT
Telco
50
VARCHAR2
Yes
COL6
EDX_RPT_PREPAY_P
RODUCT_FACT
PRODUCT_CHILD
Telco
EDX_RPT_PREPAY_P
RODUCT_FACT
TRANS_DT
Charge
Amount
9200
Product
Sub
Code
9200
Transactio
n Date
DATE
Yes
COL7
_KEY
Telco
Table 162 shows the file format for prepay detail information. This file contains details for each
transaction performed by a user.
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
9500
Rec Type
VARCHAR2
Yes
REC_TYPE
None
None
Telco
9500
Account
Number
20
VARCHAR2
Yes
COL1
EDX_RPT_PREPAY_
DETAIL_FACT
ACCOUNT_KEY
Telco
9500
Service
Number
20
VARCHAR2
Yes
COL2
EDX_RPT_PREPAY_
DETAIL_FACT
SERVICE_KEY
Telco
9500
Transactio
n Date
DATE
Yes
COL3
EDX_RPT_PREPAY_
DETAIL_FACT
TRANS_DT
Telco
9500
Called
Number
20
VARCHAR2
Yes
COL4
EDX_RPT_PREPAY_
DETAIL_FACT
CALLED_NUM
Telco
9500
Usage Type
Code
50
VARCHAR2
Yes
COL5
EDX_RPT_PREPAY_
DETAIL_FACT
USAGE_TYPE_KEY
Telco
9500
Tariff Code
50
VARCHAR2
Yes
COL6
EDX_RPT_PREPAY_
DETAIL_FACT
TARIFF_KEY
Telco
9500
Usage Unit
Code
50
VARCHAR2
Yes
COL7
EDX_RPT_PREPAY_
DETAIL_FACT
UNIT_KEY
Telco
9500
Call Type
Code
50
VARCHAR2
No
COL8
EDX_RPT_PREPAY_
DETAIL_FACT
CALL_TYPE_KEY
Telco
9500
Direction
Code
10
20
VARCHAR2
Yes
COL9
EDX_RPT_PREPAY_
DETAIL_FACT
DIRECTION_KEY
Telco
9500
Calling
City, State
Code
11
100
VARCHAR2
Yes
COL10
EDX_RPT_PREPAY_
DETAIL_FACT
CALLING_AREA_CD_K
EY
Telco
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
39 7
Load Input File Specifications and Data Mapping File Formats for Prepaid Information
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
9500
Calling
Country
Code
12
100
VARCHAR2
Yes
9500
Called City,
State Code
13
100
VARCHAR2
9500
Called
Country
Code
14
100
9500
Total
Usages
15
9500
Total
Charge
9500
Record
Type
Industry
Application
DB_TABLE_NAME
DB_COLUMN_NAME
COL11
EDX_RPT_PREPAY_
DETAIL_FACT
CALLING_AREA_CD_K
EY
Telco
Yes
COL12
EDX_RPT_PREPAY_
DETAIL_FACT
CALLED_AREA_CD_KE
Y
Telco
VARCHAR2
Yes
COL13
EDX_RPT_PREPAY_
DETAIL_FACT
CALLED_AREA_CD_KE
Y
Telco
16,2
NUMBER
Yes
COL14
EDX_RPT_PREPAY_
DETAIL_FACT
TOTAL_USAGE
Telco
16
16,2
NUMBER
Yes
COL15
EDX_RPT_PREPAY_
DETAIL_FACT
TOTAL_CHARGE_AMT
Telco
Other
Charge
17
16,2
NUMBER
No
COL16
EDX_RPT_PREPAY_
DETAIL_FACT
OTHER_CHARGE_AMT
Telco
9500
FlexField1
18
255
VARCHAR2
No
COL17
EDX_RPT_PREPAY_
DETAIL_FACT
FLEX_FIELD1
Telco
9500
FlexField2
19
255
VARCHAR2
No
COL18
EDX_RPT_PREPAY_
DETAIL_FACT
FLEX_FIELD2
Telco
9500
FlexField3
20
255
VARCHAR2
No
COL19
EDX_RPT_PREPAY_
DETAIL_FACT
FLEX_FIELD3
Telco
9500
FlexField4
21
255
VARCHAR2
No
COL20
EDX_RPT_PREPAY_
DETAIL_FACT
FLEX_FIELD4
Telco
9500
FlexField5
22
255
VARCHAR2
No
COL21
EDX_RPT_PREPAY_
DETAIL_FACT
FLEX_FIELD5
Telco
9500
FlexField6
23
16,2
NUMBER
No
COL22
EDX_RPT_PREPAY_
DETAIL_FACT
FLEX_FIELD6
Telco
9500
FlexField7
24
16,2
NUMBER
No
COL23
EDX_RPT_PREPAY_
DETAIL_FACT
FLEX_FIELD7
Telco
9500
FlexField8
25
16,2
NUMBER
No
COL24
EDX_RPT_PREPAY_
DETAIL_FACT
FLEX_FIELD8
Telco
9500
FlexField9
26
DATE
No
COL25
EDX_RPT_PREPAY_
DETAIL_FACT
FLEX_FIELD9
Telco
9500
FlexField10
27
DATE
No
COL26
EDX_RPT_PREPAY_
DETAIL_FACT
FLEX_FIELD10
Telco
9500
Gross
Amount
28
16,2
NUMBER
No
COL27
EDX_RPT_PREPAY_
DETAIL_FACT
GROSS_AMT
Telco
9500
Discount
Amount
29
16,2
NUMBER
No
COL28
EDX_RPT_PREPAY_
DETAIL_FACT
DISCOUNT_AMT
Telco
9500
Tax
Amount
30
16,2
NUMBER
No
COL29
EDX_RPT_PREPAY_
DETAIL_FACT
DISCOUNT_AMT
Telco
398
Load Input File Specifications and Data Mapping File Formats for Batch Provisioning
Data
One or more of the following record types, depending on the file type:
Each record has start date, end date, and delete date, which indicate when the object was created,
canceled, and deleted. Each of these dates must be a value in the past.
The bill cycle end date is valid only when the file is extracted from the billing file. Also, when the file
is extracted from the billing file, the billing cycle end date is not null in file header, and the start date
and end date of record will both be null.
The date format is MM/DD/YYYY. The primary contact username and email must both have either a
value or no value.
Create a pipe-delimited file with the content and the format described in Implementation Guide
for Oracle Billing Insight.
Use the following naming format for the provisioning input file you generate:
PROV_BILLING_YYYYMMDDHHMISS.DAT
Companies
Accounts
Service Agreements
Add a row in the input file for each object with a minimum of the following information:
ID
The start and end dates indicate when the object was created and expired. Use the dates to
indicate the following actions:
39 9
Load Input File Specifications and Data Mapping File Formats for Batch Provisioning
Data
Expire. Make the end date not null (to expire the object).
Update. Make both the start and end dates null. Note that provisioning objects are not
versioned.
You can use multiple input files, however, it is critical to date and load them in chronological
order. The ProvisioningData job processes the file with the oldest modified date and time first,
so date the files accordingly to sequence the proper load order. If you do not date the files
properly, subsequent input files will fail due to missing objects.
The ProvisioningData job processes the input file one row at a time.
Table 163 shows the file format for batch provisioning file header.
Table 163. File Header Record Format for the Batch Provisioning File
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
00
Rec Type
VARCHAR2
Yes
None
None
None
Telco and
Utility
00
BILLING
SYSTEM
20
VARCHAR2
Yes
None
None
None
Telco and
Utility
00
Billing
Cycle End
Date
10
DATE
No
None
None
None
Telco and
Utility
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Table 164 shows the file format for the company record in the batch provisioning file.
Table 164. Company Record Format for the Batch Provisioning File
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
10
Rec Type
VARCHAR2
Yes
None
None
None
Telco and
Utility
10
Start Date
10
DATE
No
None
EDX_ OMF
_COMPANY
START_DATE
Telco and
Utility
10
End Date
10
DATE
No
None
EDX_ OMF
_COMPANY
END_DATE
Telco and
Utility
10
Delete
Date
10
DATE
No
None
EDX_ OMF
_COMPANY
DATE_DELETED
Telco and
Utility
400
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Load Input File Specifications and Data Mapping File Formats for Batch Provisioning
Data
Table 164. Company Record Format for the Batch Provisioning File
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
10
Company
ID
255
VARCHAR2
Yes
10
Company
Name
255
VARCHAR2
10
Display
Name
255
10
Corp
Account No
10
Corp Tax
ID
10
Record
Type
Industry
Application
DB_TABLE_NAME
DB_COLUMN_NAME
None
EDX_OMF
_COMPANY
COMPANY_CD
Telco and
Utility
Yes
None
EDX_OMF
_COMPANY
DISPLAYNAME
Telco and
Utility
VARCHAR2
No
None
EDX_OMF
_COMPANY
DISPLAYNAME
Telco and
Utility
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
CORPACCNO
Telco and
Utility
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
CORPTAXID
Telco and
Utility
Street
10
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
STREET
Telco and
Utility
10
City
11
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
CITY
Telco and
Utility
10
State
12
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
STATE
Telco and
Utility
10
Country
13
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
COUNTRY
Telco and
Utility
10
Zip Code
14
20
VARCHAR2
No
None
EDX_OMF
_COMPANY
ZIPCODE
Telco and
Utility
10
Primary
Contact
Username
15
255
VARCHAR2
No
None
EDX_BSL_UMF
_USER
USERID
Telco and
Utility
10
Primary
Contact
Email
16
255
VARCHAR2
No
None
EDX_BSL_UMF
_USER
EMAIL1
Telco and
Utility
10
Primary
Contact
First Name
17
255
VARCHAR2
No
None
EDX_BSL_UMF
_USER
FIRSTNAME
Telco and
Utility
10
Primary
Contact
Last Name
18
255
VARCHAR2
No
None
EDX_BSL_UMF
_USER
LASTNAME
Telco and
Utility
10
Flex
Field_1
19
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
FLEX_FIELD_1
Telco and
Utility
10
Flex
Field_2
20
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
FLEX_FIELD_2
Telco and
Utility
10
Flex
Field_3
21
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
FLEX_FIELD_3
Telco and
Utility
10
Flex
Field_4
22
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
FLEX_FIELD_4
Telco and
Utility
10
Flex
Field_5
23
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
FLEX_FIELD_5
Telco and
Utility
10
Flex
Field_6
24
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
FLEX_FIELD_6
Telco and
Utility
10
Flex
Field_7
25
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
FLEX_FIELD_7
Telco and
Utility
10
Flex
Field_8
26
255
VARCHAR2
No
None
EDX_OMF
_COMPANY
FLEX_FIELD_8
Telco and
Utility
EDX_BSL_AUTH
_SECPROFILE
40 1
Load Input File Specifications and Data Mapping File Formats for Batch Provisioning
Data
Table 164. Company Record Format for the Batch Provisioning File
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
10
Flex
Field_9
27
255
VARCHAR2
No
10
Flex
Field_10
28
255
VARCHAR2
No
Record
Type
Industry
Application
DB_TABLE_NAME
DB_COLUMN_NAME
None
EDX_OMF
_COMPANY
FLEX_FIELD_9
Telco and
Utility
None
EDX_OMF
_COMPANY
FLEX_FIELD_10
Telco and
Utility
Table 165 shows the file format for the account record in the batch provisioning file.
Table 165. Account Record Format for the Batch Provisioning File
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
20
Rec Type
VARCHAR2
Yes
None
None
None
Telco and
Utility
20
Start Date
10
DATE
No
None
EDX_OMF
_ACCOUNT
STARTDATE
Telco and
Utility
20
End Date
10
DATE
No
None
EDX_OMF
_ACCOUNT
ENDDATE
Telco and
Utility
20
Delete
Date
10
DATE
No
None
EDX_OMF
_ACCOUNT
DELETEDAT
Telco and
Utility
20
Company
ID
255
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
BILLEE_ID
Telco and
Utility
20
Account
Number
255
VARCHAR2
Yes
None
EDX_OMF
_ACCOUNT
ACCOUNT_NUMBER
Telco and
Utility
20
Account
Name
100
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
NAME
Telco and
Utility
20
Account
Owner
Name
100
VARCHAR2
Yes
None
EDX_OMF
_ACCOUNT
CONTACTNAME
Telco and
Utility
20
Account
Type
64
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
ACCOUNT_TYPE_KEY
Telco and
Utility
20
Bill Cycle
End Day
10
NUMBER
No
None
EDX_OMF
_ACCOUNT
BILL_CYCLE_ENDDAY
Telco and
Utility
20
Bill Type
11
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
BILL_TYPE
Telco and
Utility
20
Paper On
Flag
12
CHAR2
No
None
EDX_OMF
_ACCOUNT
PAPER_ON_FLAG
Telco and
Utility
20
Billable
Flag
13
CHAR2
No
None
EDX_OMF
_ACCOUNT
BILLABLE_FLAG
Telco and
Utility
20
Address
Type
14
50
VARCHAR2
No
None
EDX_OMF
_ADDRESS
ADDRESS_TYPE_KEY
Telco and
Utility
20
Address1
15
200
VARCHAR2
No
None
EDX_OMF
_CONTACT_INFO
ADDRESS1
Telco and
Utility
20
Address2
16
200
VARCHAR2
No
None
EDX_OMF
_CONTACT_INFO
ADDRESS2
Telco and
Utility
402
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Load Input File Specifications and Data Mapping File Formats for Batch Provisioning
Data
Table 165. Account Record Format for the Batch Provisioning File
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
20
Address3
17
200
VARCHAR2
No
20
City
18
255
VARCHAR2
20
State
19
255
20
Country
20
20
Zip Code
20
Industry
Application
DB_TABLE_NAME
DB_COLUMN_NAME
None
EDX_OMF
_CONTACT_INFO
ADDRESS3
Telco and
Utility
No
None
EDX_OMF
_CONTACT_INFO
CITY
Telco and
Utility
VARCHAR2
No
None
EDX_OMF
_CONTACT_INFO
STATE
Telco and
Utility
255
VARCHAR2
No
None
EDX_OMF
_CONTACT_INFO
COUNTRY
Telco and
Utility
21
20
VARCHAR2
No
None
EDX_OMF
_CONTACT_INFO
ZIP_CD
Telco and
Utility
Contact
Name
22
255
VARCHAR2
No
None
EDX_OMF
_CONTACT_INFO
CONTACT_NAME
Telco and
Utility
20
Home
Number
23
128
VARCHAR2
No
None
EDX_OMF
_CONTACT_INFO
HOME_PHONE
Telco and
Utility
20
Work
Number
24
128
VARCHAR2
No
None
EDX_OMF
_CONTACT_INFO
WORK_PHONE
Telco and
Utility
20
Mobile
Number
25
128
VARCHAR2
No
None
EDX_OMF
_CONTACT_INFO
MOBILE_PHONE
Telco and
Utility
20
External
Reference
26
128
VARCHAR2
No
None
EDX_OMF
_CONTACT_INFO
EXTERNAL_REF
Telco and
Utility
20
Email
Address
27
128
VARCHAR2
No
None
EDX_OMF
_CONTACT_INFO
EMAIL_ADDRESS
Telco and
Utility
20
Flex
Field_1
28
255
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
FLEX_FIELD1
Telco and
Utility
20
Flex
Field_2
29
255
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
FLEX_FIELD2
Telco and
Utility
20
Flex
Field_3
30
255
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
FLEX_FIELD3
Telco and
Utility
20
Flex
Field_4
31
255
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
FLEX_FIELD4
Telco and
Utility
20
Flex
Field_5
32
255
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
FLEX_FIELD5
Telco and
Utility
20
Flex
Field_6
33
255
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
FLEX_FIELD6
Telco and
Utility
20
Flex
Field_7
34
255
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
FLEX_FIELD7
Telco and
Utility
20
Flex
Field_8
35
255
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
FLEX_FIELD8
Telco and
Utility
20
Flex
Field_9
36
255
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
FLEX_FIELD9
Telco and
Utility
20
Flex
Field_10
37
255
VARCHAR2
No
None
EDX_OMF
_ACCOUNT
FLEX_FIELD10
Telco and
Utility
40 3
Load Input File Specifications and Data Mapping File Formats for Batch Provisioning
Data
Table 166 shows the file format for the service record in the batch provisioning file.
Table 166. Service Record Format for the Batch Provisioning File
Record
Type
Field
Pos
Max
Len
Data Type
Req?
Staging
Table
(STG_CDR)
Column
Name
30
Rec Type
VARCHAR2
Yes
None
None
None
Telco and
Utility
30
Start Date
10
DATE
No
None
EDX_OMF_SERVICE
AGREEMENT
START_DATE
Telco and
Utility
30
End Date
10
DATE
No
None
EDX_OMF_SERVICE
AGREEMENT
END_DATE
Telco and
Utility
30
Delete
Date
10
DATE
No
None
EDX_OMF_SERVICE
AGREEMENT
DELETE_DATE
Telco and
Utility
30
Account
Number
255
VARCHAR2
Yes
None
EDX_OMF_SERVICE
AGREEMENT
ACCOUNT_NUMBERY
Telco and
Utility
30
Service
Number
255
VARCHAR2
Yes
None
EDX_OMF_SERVICE
AGREEMENT
SERVICE_NUMBER
Telco and
Utility
30
Service
Type
40
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
SERVICE_TYPE_KEY
Telco and
Utility
30
Product
Code
50
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
PRODUCT_KEY
Telco and
Utility
30
Subscriber
Name
255
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
SUBSCRIBER_NAME
Telco and
Utility
30
Zoning
10
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
ZONING
Telco and
Utility
30
Description
11
255
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
DESCRIPTION
Telco and
Utility
30
Flex
Field_1
12
255
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
FLEX_FIELD1
Telco and
Utility
30
Flex
Field_2
13
255
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
FLEX_FIELD2
Telco and
Utility
30
Flex
Field_3
14
255
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
FLEX_FIELD3
Telco and
Utility
30
Flex
Field_4
15
255
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
FLEX_FIELD4
Telco and
Utility
30
Flex
Field_5
16
255
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
FLEX_FIELD5
Telco and
Utility
30
Flex
Field_6
17
255
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
FLEX_FIELD6
Telco and
Utility
30
Flex
Field_7
18
255
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
FLEX_FIELD7
Telco and
Utility
30
Flex
Field_8
19
255
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
FLEX_FIELD8
Telco and
Utility
30
Flex
Field_9
20
255
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
FLEX_FIELD9
Telco and
Utility
30
Flex
Field_10
21
255
VARCHAR2
No
None
EDX_OMF_SERVICE
AGREEMENT
FLEX_FIELD10
Telco and
Utility
404
DB_TABLE_NAME
DB_COLUMN_NAME
Industry
Application
Load Input File Specifications and Data Mapping Internationalization Support Settings
Value
NLS_LANGUAGE
AMERICAN
NLS_TERRITORY
AMERICA
NLS_CURRENCY
NLS_ISO_CURRENCY
AMERICA
NLS_NUMERIC_CHARACTERS
NLS_CALENDAR
GREGORIAN
NLS_DATE_FORMAT
YYYY-MM-DD
NLS_DATE_LANGUAGE
AMERICAN
NLS_CHARACTERSET
AL32UTF8
NLS_SORT
BINARY
NLS_TIME_FORMAT
HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT
DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT
HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT
NLS_DUAL_CURRENCY
NLS_NCHAR_CHARACTERSET
AL16UTF16
NLS_COMP
BINARY
40 5
Load Input File Specifications and Data Mapping Internationalization Support Settings
Value
NLS_LENGTH_SEMANTICS
CHAR
NLS_NCHAR_CONV_EXCP
FALSE
NLS_LANGUAGE
AMERICAN
406
Index
A
about application EAR files 19
about Assisted Service application
functionality 351
about custom JSP pages and action
classes 30
about customizing reports 31
about Oracle Billing Insight 13
architecture 17
installation directories 18
about payment plug-ins 243
about repacking EAR files 29
about resource authorization 49
about the Assisted Service application 15
about the Command Center application 15
about the Oracle Billing Insight database 17
about the Self-Service applicatoin 14
about the Web Services application 16
about Velocity templates 31
accessing an objects public fields and
methods for payment
consolidation 302
accessing the Data Dictionary and
Javadoc 25
account enrollment input file format 312
account lockout 46
account verification with Paymentech 215
ACH
change codes 212
creating a plug-in 250
customizing 256
effective date 213
individual ID 254
return codes 212
return files 260
settlement date 214
templates 256
action classes
custom 30
adding a custom message provider 138
adding a new java object instance or static
class for payment consolidation
java object instance or static class, adding for
payment consolidation 303
adding a new permission set 54
adding a new user role 53
adding cartridge property keys for payment
consolidation 304
Address Verification Service 219
Amex authorization transactions with
Paymentech 215
anonymous payment validation,
customization 280
APIs for payment consolidation 311
applications
Assisted Service 13, 15
Assisted Service EAR file 20
authorization 54
Command Center 14, 15
Command Center EAR file 22
EAR files 19
resource authorization 49
Self-Service 13, 14
Self-Service EAR file 19
Web Services 14, 16
Web Services EAR file 22
architecture of Oracle Billing Insight 17
assets 28
Assisted Service application 13
customizing 351
deactivating and reactivating the bootstrap
user 39
EAR file 20
files 351
functionality 351
integrating with CRM or other back-office
applications 352
attributes for payment consolidation
templates 297, 298
audit data, reporting 359, 364
auditing database activity 17
auditing impersonation 356
authentication and authorization,
customizing 47
Automated Clearing House (ACH) 211
automatic resource file updates, changing
the frequency 36
azcfg.properties file 49
azpolicy.xml file 50, 53, 54
B
bank routing
international 279
bar chart properties 197
40 7
Index C
batch reports
configuring 147
batchs
threshold values, customizing 193
best practices for customizing Oracle Billing
Insight 27
bill detail URL
customizing for payment consolidation 307
bill summary
acknowledgement input file format 328
output file format 321
billing periods, defining 63
bootstrap user ID
deactivating and reactivating the Assisted
Service and Command Center
applications 39
branding, customizing the UI 31
C
canceling payments for consumer users in
batch
input file format 241
cartridge
property keys, adding for payment
consolidation 304
cascading style sheet (CSS) 29
changing the frequency of automatic
resource file updates 36
changing the local storage location for the
HTML report formatting files 205
charts
configuring properties 196
customizing 195
Statement Summary 204
check payments
transaction cycle 209
codes, ACH 211
color 29
Command Center application 14
deactivating and reactivating the bootstrap
user 39
EAR file 22
configurable chart properties 196
configuration parameters for payment
consolidation 306
configuring batch reporting 147
configuring convenience fee payments 275
configuring international bank routing 279
configuring messaging properties 134
configuring the logging level for log4j
files 24
configuring the maximum attempt times 46
configuring the secure bill-ready notification
408
password 140
convenience fee payments, configuring 275
creating a credit card plug-in 250
creating a payment reminder plug-in 251
creating a PDF template for reporting 176
creating a recurring payment plug-in 252
creating an ACH plug-in 250
creating customized payment consolidation
templates 288
credit card
creating a plug-in 250
overview 214
statuses 215
transaction overview 216
user options 218
CRM
integrating with the Assisted Service
application 352
updating disputes 62
CSS
customizing the UI default 29
custom message provider
adding 138
customizing account reactivation 46
customizing anonymous payment
validation 280
customizing charts 195
customizing default display patterns used in
notifications 133
customizing email notifications 67
customizing Oracle Billing Insight
best practices 27
customizing reports 31
customizing Spring Security 47
customizing the administrator user
password validation rule 41
customizing the agent user password update
requirements 41
customizing the Assisted Service
application 283, 351
customizing the bill detail URL 307
customizing the content of notifications 132
customizing the default UI CSS 29
customizing the end user and agent user
password validation rule 42
customizing the payment amount
format 269
customizing the Statement Summary
chart 204
customizing the UI for multiple branding 31
customizing the user interface for multiple
branding 31
customizing the validation code
generator 45
Index D
D
Data Dictionary 25
data element mappings
example A 329
example B 340
data file loading tasks 368
Data Visualization Tools 195
database 17
database tables for payment
consolidation 349
DB-logging 23
deactivating the bootstrap user 39
debug, payment 241
debugging Oracle Billing Insight 22
default payment consolidation file
formats 312
defining billing periods 63
DefUsrAcctRelationship input file format 57
deleting consumer users in batch
input file format 59
directories 18
disabling SMS notifications 140
Discover authorization transactions with
Paymentech 215
display patterns, customizing default for
notifications 133
displaying SQL statements 24
disputes
updating an external CRM 62
dynamic SQL 184
E
EAR files
applications 19
repackaging 29
email notifications
customizing content 132
customizing default display patterns
localizing 32
processing 67
template content for business users
template content for consumer users
enrollment
acknowledgement output file format
customizing 44
133
72
99
318
H
holidays
and ACH effective date 214
Global Template variable 258
HTML report formatting files, changing the
local storage location 205
I
IBillingSystemIDPlugin 308
ICartridgePlugin 309
identifying the installed version of Oracle
Billing Insight 26
impersonation
auditing 356
implementing payment consolidator plugins 308
input and output files
formats for payment consolidation 312
payment consolidation 287
input file formats
for canceling payments for consumer users in
batch 241
for deleting consumer users in batch 59
for migrating consumer users in batch 57
for the DefUsrAcctRelationship job 57
load process 368, 370, 376, 382, 385, 389,
393, 395
40 9
Index J
installation directories 18
installed version of Oracle Billing Insight,
identifying 26
integrating the Assisted Service application
with CRM or other back-office
applications 352
international bank routing 279
internationalization
support settings 399
support settings for load process 405
Velocity templates 185
J
Java APIs for payment consolidation 311
Javadoc 25
Java-option-logging 23
JavaScripts 30
jobs
DefUsrAcctRelationship 57
payment consolidation 285
PCAccountEnrollment 285
PCBillSummary 285
PCBillSummaryAcknowledgement 285
JSP pages
custom 30
L
language resource bundles 32
line chart properties 202
load process
about 368
data file loading tasks 368
file record and dimension table mapping 368
file record and fact table mapping 369
input file format for account-level
information 382
input file format for dimension-level
information 370
input file format for service detail-level
information 389, 393, 395
input file format for service-level
information 385
input file format for statement-level
information 376
input file formats 368
internationalization support settings 399,
405
preprocessor tasks 367
localizing the user interface 32
lockout 46
Log4j 23
logging 22, 23
logic operators for payment
410
consolidation 301
M
mapping
data elements example A 329
data elements example B 340
Mastercard authorization transactions with
Paymentech 215
maximum attempt times
configuring 46
message provider
custom 138
migrating consumer users in batch
input file format 57
multiple branding of the UI 31
N
NOC
ACH change codes 212
ACH returns 255
codes 212
returns 255
transactions 213
notifications
configuring the password for bill-ready 140
email template content for business users 72
email template content for consumer
users 99
SMS template content 128
O
ODFI
ACH return codes 212
and ACH payment transaction cycle 209
and received check processing 210
OLAP schema 17
OLTP schema 17
one cent authorization with
Paymentech 215
overview of Oracle Billing Insight 13
overview of processing with a payment
consolidator 283
P
passwords
bill-ready notification 140
customizing the administrator user validation
rule 41
customizing the end user and agent user
validation rule 42
payment
configuring convenience fee support 275
Index Q
Q
query
and IReportConfig 145
and single payment type 269
and transformer 144
and user context variable 177
attributes for 152
case study 265
changing SampleARPaymentIntegrator 267
checkQuery and creditCardQuery 264
credit card 268
dynamic SQL 184
element 152
element and paging 183
element of Report XML 151
elements in jdbcDirect 151
in multiple payee ACH accounts 278
in presentment engine reports 28
in report context 144
SQL and report XML 161
values for 156
R
reactivate account lockout
configuring 46
reactivating the bootstrap user 39
record XML template 293
recurring payments
email template 256
plug-in 252
reminders 251
repackaging EAR files 29
report list properties file 147
reporting on system administrator audit
data 364
reporting on user audit data 359
reports 28, 141
creating a PDF template 176
customizing reports 31
resource authorization 49
resource file updates
changing the frequency 36
return codes 211
S
sample payment consolidation template
files 289
SampleARPaymentIntegrator 267
security
Spring 47
security.xma.xml file 54
Self-Service application 13, 14
EAR file 19
41 1
Index T
T
table mapping (dimension) and file records
(load process) 368
template content
SMS notifications 128
templates 28
and action classes 191
and attribute for column element 165
and attribute for transformer element 163
and attributes for printList element 172
and dynamic localization 188
and EAR structure 20, 21
and ITransformer 145
and localization 187
and predefined context variables 177
and ReportContext objects in 180
and reporting engine 142, 143, 146
and reporting XML 147
and resource bundle definition 186
attributes for downloadList element 171
attributes for payment consolidation
templates 297
attributes for template element 166
changing 27
customizing for payment consolidation 288
customizing report 190
download element of report XML 172
412
U
UNIX
Oracle WebLogic payment debug flag 241
updating disputes in an external CRM 62
user audit data, reporting 359
user authentication and authorization,
customizing 47
user enrollment, customizing 44
user interface
customizing 28
customizing for multiple branding 31
files 28
localizing 32
user lockout
customizing 46
Index V
user passwords
customizing the administrator password
validation rule 41
customizing the agent password update
requirements 41
customizing the end user and agent password
validation rule 42
user roles 49
adding 53
user.xma.xml file
using to configure maximum attempt
times 46
using Chase Paymentech as a payment
processor 219
using payment debug 241
using PayPal Payflow Pro as a payment
gateway 218
using the enrollment validation API 45
using the report list properties file 147
using the reporting engine 141
element 152
template and drilldown and breadcrumb
link 189
template and reporting API 181
template and SQL query 184
template engine in parsing 180
templates 31
templates and attributes for prompts
element 155
templates and predefined context
variables 177
templates and reporting 174
templates for internationalization and
localization 185
version of Oracle Billing Insight,
identifying 26
viewing log4j log files 23
Visa authorization transactions with
Paymentech 215
V
validation code generator, customizing 45
variables for payment consolidation
templates 298
Velocity
and changing files 27
and ReportContext class 145
and reporting engine 141, 142
changing templates 193
new version 143
template 144
template and attributes for query
Web documents 29
Web Services application
EAR file 22
14
X
XML
264
Z
zero dollar authorization with
Paymentech 215
41 3
Index Z
414