Top Banner
Extending Web ADI to Create User Driven Price List Interface Andrea L. Clary Keithley Instruments, Inc.
38
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Extending Web ADI to Create User Driven Price List Interface

    Andrea L. ClaryKeithley 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

    Data can be rejected by Custom Procedure

    Functional User controls when this runs

    No need to wait for a cron job or IT intervention

    Spreadsheet CustomProcedureIntegratorOracle Open

    InterfaceTables

    Oracle OpenInterface

    CSV data

    Data Mapping

    CustomstagingTable

  • 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&bne:integrator=20024:GENERAL_21_INTG&bne:layout=20024:KEI_QP_LAY_KEY&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

    CONCURRENT_PROGRAM_NAME="KEI_QP_LAUNCH_BULK_LOAD_PROG" PROGRAM_APPL_SHORT_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

    Extending Web ADI to Create User Driven Price List InterfaceSafe Harbor StatementAbout KeithleyAbout meAgendaPrice List Process Issues at KEIRequirements presented to IT by functional users:Oracle has an Interface for Price ListsOracle has an Interface for Price ListsOracle has an Interface for Price ListsTypical Interface without Web ADITypical Interface with Web ADIHow to Build an IntegratorHow to Build an IntegratorHow to buildHow to build data validationHow to build dont upload junkHow to BuildHow to BuildHow to BuildHow to BuildOptional: Define a MappingData Mapping what the user seesUser Experience: Download Excel DocumentShort Cut to Download Excel documentHow to get values for your parametersHow we launched QP BulkHow we launched QP BulkRequired Client Side ConfigsClient SidePopulate the Excel Sheet with DataOur EBS environmentBNE Profile valuesOne Profile of interestOther feature areas to explore:ReferencesAcknowledgementsQ&A time