You are on page 1of 38

Extending Web ADI to Create User Driven Price List Interface

Andrea L. Clary Keithley Instruments, Inc.

Safe Harbor Statement


Im just describing what worked for us.

About Keithley
Keithley is US based manufacturer of Test and Measurement equipment We have offices throughout US, Europe and Asia In Oracle E-Business Suite, we have 11 operating units in a SOX compliant implementation Run GL, INV, WIP, BOM, OM, PO, AR, AP, CRM (JTF, CS, AST, CSI, UWQ..)

About me
Electrical Engineer After graduate school, work for 9 years as a flow metrologist for NASA Joined Keithley as a Sr. Applications Engineer in 1998 Became involved with Oracle in 2003 as a functional SuperUser for CRM products In 2004, moved into a Sr. Programmer/Analyst IT role at Keithley

Agenda
Our Issues/Why we did this Functional Requirements Open Interface good start toward solution Interface Design How to Build an Integrator Validation dont upload junk Managing the user experience Unsolved mysteries features not yet used

Price List Process Issues at KEI


Product offerings can be complex Custom one-offs require pricing information Each operating unit/region has their own special requirements/business drivers Pricing is controlled in US Bottom Line: Price List Maintenance was viewed as too data entry intensive

Requirements presented to IT by functional users:


Make it faster - consume fewer hours Reduce typing boring and error prone Notification of data ambiguities/errors Interface with present process

Accurately apply the data to the price lists

Oracle has an Interface for Price Lists


Two components to this interface:
tables into which your data is uploaded and a table for rejected/error records concurrent process that consumes that data, validates it and creates/updates the price lists or puts an entry into the errors table

Oracle has an Interface for Price Lists


The interface consists of tables into which your data is uploaded

How do I upload data to the table? In technology terms, SQL*Loader would be a typical approach. How to get this file available to a SQL*Loader script will be an issue Web ADI allows you to put this control into the hands of your functional users and to do so in a very controlled way. (More on this to follow)

Oracle has an Interface for Price Lists


concurrent process that consumes that data, validates ..

The process is a concurrent request by name of

QP Bulk Process. It has a number of parameters defined. We rolled this out to our functional users with a KEI defined concurrent request. This allowed control over the parameter values. (more on this to follow)

Typical Interface without Web ADI


Create a data file (delimited file on end-users PC) Transfer data file to DB server (Unix shell script; crontab) Load into interface table (SQL*Loader script; crontab) From Oracle EBS session: Run the Interface Process Method to correct/clear errors
A lot of timing issues for the end-user to deal with

Typical Interface with Web ADI


Spreadsheet Integrator Custom Procedure Custom staging Table
Oracle Open Interface Tables

Oracle Open Interface

Data Mapping

CSV data

Data can be rejected by Custom Procedure Functional User controls when this runs No need to wait for a cron job or IT intervention

How to Build an Integrator


You need to install an object into APPS schema of the database (package or view)
If your integrator will upload data you will need to define a PACKAGE If your integrator will only download, you will need a VIEW

You need to have access to users, responsibilities, menus and functions Verify BNE profile values

How to Build an Integrator


You need time, patience and creativity The integrator can do anything you permit It can perform custom validation and refuse records Reason/error messages can be given back The error messages can be on a row by row basis, e.g. specific to each error type

How to build
User Requirement: interface with present process.
Example: If they are already generating a report that has 10 columns of data, design your front-end to accept 10 columns of datawhether you need them or not.

How to build data validation

Custom Validation/error reporting do this BEFORE it ever gets to Oracles Interface tables The Web ADI interface will put visual clues in the spreadsheet about upload outcome using green smiley face or red frown face icons

How to build dont upload junk


Package Code:
Have an insert_row proc It calls to validate_row If validation fails, you can put a message on stack and push it back to functional user by raising exception

IMPORTANT:
If you push back even one row of exception messages, then zero rows will be uploaded to the staging table.

How to Build
After Create/install package in APPS Use menu Oracle Web ADI Menu Use Create Document>HR Integrator Setup

How to Build

Metadata Type = CREATE or DOWNLOAD Application Short Name is for your own $CUSTOM_TOP Form Name = GENERAL for custom integrators

How to Build

Associate Form Function to integrator Assign to your menu else you will see permissions errors

How to Build
Layout: is defined by your procedure. v_list_header_id becomes LIST_HEADER_ID in the layout automatically

Optional: Define a Mapping

Data Mapping what the user sees

User Experience: Download Excel Document

Oracle provides a page per parameter to allow user to select values for
Viewer If download integrator, then reporting =Y Integrator Name to use Which layout to use Which content mapping to use

User will have to make selections on each of these pages which they will view as tedious, or you can streamline the process

Short Cut to Download Excel document


Add Parameters to your function definition This will bypass any page for which you provide a value in your function definition

How to get values for your parameters

bne:page=BneCreateDoc&bne:reporting=N&bne:viewer=231:EXCEL2003&bn e:integrator=20024:GENERAL_21_INTG&bne:layout=20024:KEI_QP_LAY_K EY&bne:content=20024:GENERAL_21A_CNT

select the codes from bne_integrators_tl bne_contents_tl bne_layouts_tl

How we launched QP Bulk


Controlled Parameter values

How we launched QP Bulk

Added as menu function rather than as request in request group. This allows fewer clicks to submit the request Simpler user interface; easier training
CONCURRE NT_P ROGRAM_NAME="KEI_QP _LAUNCH_BULK_LOA D_P ROG" PROGRAM_APPL_S HORT_NAME=" XBOL" TITLE="KEI QP Launch Bulk Load" SUBMIT_ONCE="Y"

Required Client Side Configs


Pop-up blocker can block Web ADI Excel can not be open when you are downloading a spreadsheet. Macro security in Excel must be medium and Trust Access to VB Projects must be allowed. Training Concept: Error handling with Web ADI all rows or no rows

Client Side
Microsoft Office 2000, 2002,2003 and 2007 are currently supported Windows 2000, XP, Vista Any browser supported by your E-Business Suite environment

Populate the Excel Sheet with Data Excel Sheet Protection is On by default Once the Excel sheet is downloaded, must remove Protection in order to insert additional rows or to resize any column, etc. If routinely doing this, make use of a data mapping to automatically extend the rows and update the rows with data values from a specified csv file.

Our EBS environment


11.5.10.2 ATG RUP6 RDBMS 10.2.0.4.0 11i.BNE.D (3218526 + 5518587)

BNE Profile values


Check all the BNE profiles against the documentation If documents are not downloading/data not uploading review the bne.log located at location controlled by profiles:
BNE Server Log Path BNE Server Log Level

Work with application administrator to have BNE profiles reviewed and appropriately set

One Profile of interest


BNE Allow Set Parameters Seeded GL integrators make use of this additional form displayed at upload looks interesting

Other feature areas to explore:


FNDLOAD for instance porting LOVs and date picker to constrain/ease user input Header and Row integrator upload impact to file mapping Look at integrators for GL Journal upload as examples

References
360105.1 Understanding and Using Web ADI in Oracle HRMS - Includes A Step by Step Guide to Creating HRMS Integrators very helpful 228527.1 - "Web ADI for Oracle HRMS Implementation and Configuration Information 726727.1 Overview of Web ADI Web ADI Implementation Guide - bne115ig.pdf Web ADI User Guide - bne115ug.pdf

Acknowledgements
Many thanks to all those who have made other presentations and blog entries on Web ADI and custom integrator development. Those documentation efforts were extremely beneficial to my own success with Web ADI And to my functional users for their patient collaboration on the solution

Q&A time
Thank you for attending Please fill out the evaluations

You might also like