PT 8.4 Interlink Design-Time Plug-In Programming Guide

download PT 8.4 Interlink Design-Time Plug-In Programming Guide

of 284

Transcript of PT 8.4 Interlink Design-Time Plug-In Programming Guide

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    1/284

    PeopleTools 8.4:PeopleSoft Business

    Interlink Design-Time Plug-inProgramming Guide

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    2/284

    PeopleTools 8.4: PeopleSoft Business Interlink Design-Time Plug-in Programming Guide

    SKU Tr84BID-B 0302

    PeopleBooks Contributors: Teams from PeopleSoft Product Documentation and

    Development.

    Copyright 2002 PeopleSoft, Inc. All rights reserved.

    Printed in the United States.

    All material contained in this documentation is proprietary and confidential to PeopleSoft,Inc. ("PeopleSoft"), protected by copyright laws and subject to the nondisclosure provisionsof the applicable PeopleSoft agreement. No part of this documentation may be reproduced,stored in a retrieval system, or transmitted in any form or by any means, including, but not

    limited to, electronic, graphic, mechanical, photocopying, recording, or otherwise without theprior written permission of PeopleSoft.

    This documentation is subject to change without notice, and PeopleSoft does not warrant thatthe material contained in this documentation is free of errors. Any errors found in thisdocument should be reported to PeopleSoft in writing.

    The copyrighted software that accompanies this document is licensed for use only in strictaccordance with the applicable license agreement which should be read carefully as itgoverns the terms of use of the software and this document, including the disclosure thereof.

    PeopleSoft, the PeopleSoft logo, PeopleTools, PS/nVision, PeopleCode, PeopleBooks,PeopleTalk, and Vantive are registered trademarks, and "People power the internet." and Pure

    Internet Architecture are trademarks of PeopleSoft, Inc. All other company and productnames may be trademarks of their respective owners. The information contained herein issubject to change without notice.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    3/284

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L C O N T E N T S i i i

    C o n t e n t s

    PeopleSoft Business Interlink Design-Time Plug-in Programming Guide Preface

    About This PeopleBook.......................................................................................................v

    Before You Begin................................................................................................................v

    PeopleSoft Application Fundamentals .............................................................................. vi

    Related Documentation ..................................................................................................... vi

    Hard-copy Documentation......................................................................................... vii

    PeopleBooks Standard Field Definitions.......................................................................... vii

    Typographical Conventions and Visual Cues.................................................................... ix

    Page and Panel Introductory Table..................................................................................... x

    Comments and Suggestions................................................................................................ x

    Chapter 1

    Introduction to Business Interlinks

    What is the Business Interlink Architecture.................................................................... 1-1

    Running a Business Interlink.................................................................................... 1-1

    Creating a Business Interlink.................................................................................... 1-3

    Example 1: Calculating UPS Shipping Costs .................................................................. 1-3

    Example 2: Creating a Calculate XML Design-Time Plug-in......................................... 1-7List of Common Business Interlink Terms...................................................................... 1-8

    Chapter 2

    Designing Business Interlink Transactions and Classes

    Listing Configuration Parameters.................................................................................... 2-1

    Example Design for Configuration Parameters ........................................................ 2-2

    Listing Your Business Classes ........................................................................................ 2-2

    Design for Freight Carrier Classes............................................................................ 2-2

    Listing Your Business Transactions ................................................................................ 2-4

    Design For Freight Carrier Transactions................................................................... 2-4

    Diagram of the Calculate Cost Transaction..................................................................... 2-5

    Chapter 3

    Writing an XML Design-Time Plug-In

    Using The XML Template File To Create Your XML Design-Time Plug-In ................ 3-2

    Example of an XML design-time plug-in for a Freight Carrier Business Interlink......... 3-2

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    4/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    C O N T E N T S i v P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Diagram of the Transactions............................................................................................ 3-6

    Writing The Tags in an XML Design-Time Plug-In ....................................................... 3-7

    Write the General Information for the Plug-in ................................3-7

    List The Supported Business Interlink Types ..............................3-8

    List The Configuration Parameters......................................3-12

    Write the Class Catalog................................................................3-16

    Write the Transaction Catalog......................................................3-18

    Data Types ..................................................................................................................... 3-21

    Escaping XML Restricted Characters............................................................................ 3-22

    Chapter 4

    Deploying your XML Design-Time Plug-In

    Glossary

    Index

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    5/284

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L P R E F A C E v

    PeopleSoft Business Interlink Design-Time Plug-in Programming Guide

    PrefaceThis PeopleBook covers the concepts of Business Interlinks. It discusses how developersdesign the shape for a Business Interlink, and how they create Business Interlink XMLDesign-Time Plug-ins from that shape. The Business Interlink XML Design-Time Plug-in iswritten in the XML markup programming language. An in-depth knowledge of XML is not

    needed, but some knowledge of XML syntax could be helpful. This PeopleBook shows andexplains the syntax that you need to write a Business Interlink XML Design-Time Plug-in.

    The About This PeopleBook section contains general product line information, such asrelated documentation, common page elements, and typographical conventions. This book

    also contains a glossary with useful terms that are used in PeopleBooks.

    See PeopleSoft Glossary.

    About This PeopleBook

    This book provides you with the information that you need for implementing and using

    PeopleTools 8.4 applications. Complete documentation for this release is provided on the CD-ROM PT84PBR0.

    Note. Your access to PeopleSoft PeopleBooks depends on which PeopleSoft applicationsyou've licensed. You may not have access to all of the PeopleBooks.

    This section contains information that you should know before you begin working withPeopleSoft products and documentation, including PeopleSoft-specific documentation

    conventions, information specific to each PeopleSoft product line, and information onordering additional copies of our documentation.

    Before You Begin

    To benefit fully from the information covered in this book, you should have a basic

    understanding of how to use PeopleSoft applications. We recommend that you complete atleast one PeopleSoft introductory training course.

    You should be familiar with navigating the system and adding, updating, and deleting

    information by using PeopleSoft windows, menus, and pages. You should also becomfortable using the World Wide Web and the Microsoft Windows or Windows NTgraphical user interface.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    6/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P R E F A C E v i P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Because we assume that you already know how to navigate the PeopleSoft system, much ofthe information in these books is not procedural. That is, these books do not typically providestep-by-step instructions on using tables, pages, and menus. Instead, we provide you with theinformation that you need to use the system most effectively and to implement your

    PeopleSoft application according to your organizational or departmental needs. PeopleBooksexpand on the material covered in PeopleSoft training classes.

    PeopleSoft Application Fundamentals

    Each PeopleSoft application PeopleBook provides implementation and processing informationfor your PeopleSoft database. However, there is additional, essential information describing

    the setup and design of your database contained in a companion volume of documentationcalledPeopleSoft Application Fundamentals.

    PeopleSoft Application Fundamentals contains important topics that apply to many or allPeopleSoft applications across each product line. Whether you are implementing only onePeopleSoft application, some combination of products within a product line, or an entire

    PeopleSoft system, you should be familiar with the contents of this central PeopleBook. Itcontains fundamental information such as setting up control tables and administering security.

    The PeopleSoft Applications Fundamentals PeopleBook contains common information

    pertinent to all applications in each product line, such as defining general options. If you'reupgrading from a previous PeopleSoft release, you may notice that we've removed sometopics or topic headings from the individual application PeopleBooks and consolidated themin this single reference book. Youll now find only application-specific information in yourindividual application PeopleBooks. This makes the documentation as a whole less

    redundant. Throughout each PeopleBook, we provide cross-references toPeopleSoftApplication Fundamentals and other PeopleBooks.

    Related Documentation

    You can order printed, bound versions of the complete PeopleSoft documentation delivered onyour PeopleBooks CD-ROM and additional copies of the PeopleBooks CDs through the

    Documentation section of the PeopleSoft Customer Connection website:http://www.peoplesoft.com/corp/en/login.asp

    You can find updates and additional documentation for this release, as well as previousreleases, on PeopleSoft Customer Connection (http://www.peoplesoft.com/corp/en/login.asp ).

    Through the Documentation section of Customer Connection, you can download files to addto your PeopleBook library. You'll find a variety of useful and timely materials, including

    updates to the full PeopleSoft documentation delivered on your PeopleBooks CD.

    Important! Before you upgrade, it is imperative that you check PeopleSoft Customer

    Connection for updates to the upgrade instructions. We continually post updates as we refine

    the upgrade process.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    7/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L P R E F A C E v i i

    Hard-copy Documentation

    To order printed, bound volumes of the complete PeopleSoft documentation delivered on yourPeopleBooks CD-ROM, visit the PeopleSoft Press website from the Documentation section of

    PeopleSoft Customer Connection. The PeopleSoft Press website is a joint venture betweenPeopleSoft and Consolidated Publications Incorporated (CPI), our book print vendor.

    We make printed documentation available for each major release shortly after the software isshipped. Customers and partners can order printed PeopleSoft documentation by using any ofthe following methods:

    Internet From the main PeopleSoft Internet site, go to the

    Documentation section of Customer Connection. You canfind order information under the Ordering PeopleBooks

    topic. Use a Customer Connection ID, credit card, orpurchase order to place your order.

    PeopleSoft Internet site: http://www.peoplesoft.com/ .

    Telephone Contact Consolidated Publishing Incorporated (CPI) at800 888 3559.

    Email Send email to CPI at [email protected].

    PeopleBooks Standard Field Definitions

    Throughout our product documentation, you will encounter fields and buttons that are used onmany application pages or panels. This section lists the most common fields and buttons and

    provides standard definitions.

    Field Definition

    As of Date The last date for which a report or process includes data.

    Business Unit An identification code that represents a high-level organization

    of business information. You can use a business unit to define

    regional or departmental units within a larger organization.

    Description Freeflow text up to 30 characters.

    Effective Date Date on which a table row becomes effective; the date that an

    action begins. For example, if you want to close out a ledger on

    June 30, the effective date for the ledger closing would be July

    1. This date also determines when you can view and change the

    information. Pages or panels and batch processes that use the

    information use the current row.

    For more information about effective dates, see

    Understanding Effective Dates in Using PeopleSoft

    Applications.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    8/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P R E F A C E v i i i P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Field Definition

    EmplID (employee ID) Unique identification code for an individual associated with

    your organization.

    Language or Language Code The language in which you want the field labels and report

    headings of your reports to print. The field values appear as you

    enter them.

    Language also refers to the language spoken by an employee,

    applicant, or non-employee.

    Process Frequency group box Designates the appropriate frequency in the Process Frequency

    group box:

    Once executes the request the next time the batch process runs.

    After the batch process runs, the process frequency is

    automatically set to Don't Run.

    Always executes the request every time the batch process runs.

    Don't Run ignores the request when the batch process runs.

    Report ID The report identifier.

    Report Manager This button takes you to the Report List page, where you can

    view report content, check the status of a report, and see content

    detail messages (which show you a description of the report and

    the distribution list).

    Process Monitor This button takes you to the Process List page, where you can

    view the status of submitted process requests.

    Run This button takes you to the Process Scheduler request page,

    where you can specify the location where a process or job runs

    and the process output format.

    For more information about the Report List page, the

    Process List page, and the Process Scheduler, see Process

    Scheduler Basics in the PeopleTools documentation.

    Request ID A request identification that represents a set of selection criteria

    for a report or process.

    User ID The system identifier for the individual who generates a

    transaction.

    SetID An identification code that represents a set of control table

    information or TableSets. A TableSet is a group of tables(records) necessary to define your companys structure and

    processing options.

    Short Description Freeflow text up to 15 characters.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    9/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L P R E F A C E i x

    Typographical Conventions and Visual Cues

    We use a number of standard conventions and visual cues in our online documentation.

    The following list contains our typographical conventions and visual cues:

    (monospace font) Indicates a PeopleCode program or other programexample.

    Bold Indicates field names and other page elements, such as

    buttons and group box labels, when these elements aredocumented below the page on which they appear. Whenwe refer to these elements elsewhere in the

    documentation, we set them in Normal style (not in bold).

    We also use boldface when we refer to navigational paths,

    menu names, or process actions (such as Save and Run).

    Italics Indicates a PeopleSoft or other book-length publication.

    We also use italics for emphasis and to indicate specificfield values. When we cite a field value under the page onwhich it appears, we use this style:field value.

    We also use italics when we refer to words as words or

    letters as letters, as in the following: Enter the number 0,not the letter O.

    KEY+KEY Indicates a key combination action. For example, a plus

    sign (+) between keys means that you must hold down thefirst key while you press the second key. For ALT+W,hold down the ALT key while you press W.

    Cross-references The phrase For more information indicates where you

    can find additional documentation on the topic at hand.We include the navigational path to the referenced topic,separated by colons (:). Capitalized titles in italics

    indicate the title of a PeopleBook; capitalized titles innormal font refer to sections and specific topics within the

    PeopleBook. Here's an example:

    For more information, see Documentation on CD-

    ROM inAbout These PeopleBooks: Additional

    Resources.

    Note. Text in this bar indicates information that you should pay particular attention to as you

    work with your PeopleSoft system. If the note is preceded by Important!, the note is crucial

    and includes information that concerns what you need to do for the system to function

    properly.

    Text in this bar indicates cross-references to related or additional information.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    10/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P R E F A C E x P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Warning! Text within this bar indicates a crucial configuration consideration. Pay very

    close attention to these warning messages.

    Page and Panel Introductory TableIn the documentation, each page or panel description in the application includes an

    introductory table with pertinent information about the page. Not all of the information will beavailable for all pages or panels.

    Usage Describes how you would use the page or process.

    Object Name Gives the system name of the panel or process as specified in the PeopleTools

    Application Designer. For example, the Object Name of the Detail Calendar

    panel is DETAIL_CALENDAR1.

    Navigation Provides the path for accessing the page or process.

    Prerequisites Specifies which objects must have been defined before you use the page orprocess.

    Access

    Requirements

    Specifies the keys and other information necessary to access the page. For

    example, SetID and Calendar ID are required to open the Detail Calendar

    page.

    Comments and Suggestions

    Your comments are important to us. We encourage you to tell us what you like, or what youwould like to see changed about our documentation, PeopleBooks, and other PeopleSoftreference and training materials. Please send your suggestions to:

    PeopleSoft Product Documentation ManagerPeopleSoft, Inc.

    4460 Hacienda DrivePleasanton, CA 94588

    Or send comments by email to the authors of the PeopleSoft documentation at:

    [email protected]

    While we cannot guarantee to answer every email message, we will pay careful attention toyour comments and suggestions. We are always improving our product communications foryou.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    11/284

    P E O P L E S O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L I N T R O D U C T I O N T O B U S I N E S S I N T E R L I N K S 1 - 1

    C H A P T E R 1

    Introduction to Business Interlinks

    Business Interlinks enable you to perform component-based, realtime integration fromPeopleSoft to external systems. Business Interlinks do this by creating synchronoustransactions that allow PeopleSoft applications to pass data to and receive data from theexternal system in real time. You can use Business Interlinks to integrate PeopleSoft with

    external systems, with another PeopleSoft application, and systems on the internet web.

    A transaction consists of a named command with optional named and typed inputs andoutputs. The associated external system or the Business Interlink Plug-in understands this

    command.

    What is the Business Interlink Architecture

    Example 1: Calculating UPS Shipping Costs

    Example 2: Creating a Calculate XML Design-Time Plug-in

    List of Common Business Interlink Terms

    What is the Business Interlink Architecture

    The Business Interlink Architecture provides a plug-in framework for PeopleSoft applicationsto invoke third party APIs over the Internet. Different vendors support different methods forexposing their APIs, including object technologies such as COM, COBRA, EJB;

    programming language specific interfaces for C or C++; or interfaces based on HTTP andXML. The Business Interlink framework provides a consistent framework for application

    developers to invoke external applications across this wide variety of technologies.

    When a business event triggers the execution of a Business Interlink, the Component

    Processor synchronously calls the Business Interlink Processor, which in turn invokes theappropriate Business Interlink plug-in. The plug-in provides a wrapper around the third party

    API and is designed to support any type of interface binding (COM, CORBA, EJB, XML)exposed by the third-party interface. The third-party software could be hosted on the samemachine as the PeopleSoft Internet Application Server, or on a separate machine on the other

    side of the world, invoked over the Internet.

    Running a Business Interlink

    The following diagram shows the typical Business Interlink architecture, using an XML

    design-time plug-in and a runtime plug-in.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    12/284

    P E O P L E S O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    1 - 2 I N T R O D U C T I O N T O B U S I N E S S I N T E R L I N K S P E O P L E S O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Business Interlink Architecture

    When the Business Interlink Object is executed, the following actions take place:

    1. A PeopleSoft Application triggers a PeopleCode event. For example, a user might, in aPeopleSoft page labeled Shipping Time and Cost, enter input values needed to calculate

    shipping time, and then press a button labeled Calculate.

    2. The triggered event (pressing the Calculate button) passes the input values to a

    PeopleCode program, and then executes the PeopleCode program.

    3. The PeopleCode program creates an Interlink Object, which contains the transaction nameand inputs, and passes the Interlink Object to the Business Interlink runtime plug-in. Theruntime plug-in can be located on:

    A web server

    The same PeopleSoft Application Server as the PeopleSoft Application.

    4. The Business Interlink runtime plug-in provides the implementation of the transactions

    and/or data operations. It calls the external software system though its API, passing theinput values from the Business Interlink Object. This external system can be located on:

    An external server.

    A web server.

    The same PeopleSoft Application Server as the PeopleSoft Application.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    13/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L E S O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L I N T R O D U C T I O N T O B U S I N E S S I N T E R L I N K S 1 - 3

    5. The third party system performs operations based on those input values, and returns outputvalues thought its API to the runtime plug-in. These operations could be, for example,executing functions in the external system, or performing operations on a database in theexternal system.

    6. The Business Interlink runtime plug-in assigns output values to the Business Interlink

    Object (if there are outputs). If there are outputs, the PeopleCode program can assign theoutput values to PeopleSoft variables. For example, in a PeopleSoft page labeledShipping Time and Cost, the output values could then be displayed upon that page.

    Creating a Business Interlink

    To allow users to create and run Business Interlinks, developers must perform the followingtasks. This manual describes the tasks that are in bold.

    1. A developer designs the shape of a transaction(s) (inputs, outputs, name). For

    example, the action could be telling UPS to calculate the cost of shipping.

    2. A developer writes a Business Interlink design-time plug-in that implements the

    shape of the transaction(s). This plug-in is written in the XML markup language.

    3. A developer writes a Business Interlink runtime plug-in to implement the transaction:

    passing the inputs to an external system and receiving the outputs form the externalsystem.

    4. The design-time plug-in and the runtime plug-in are deployed for use by PeopleSoft

    applications.

    5. A PeopleSoft Application Developer creates a Business Interlink Definition, which createsa specific shape for a particular PeopleSoft application. For example, the application

    might be created, or modified, to be able to connect to UPS and calculate shipping costs.

    6. A PeopleSoft Application Developer writes a PeopleCode program to call the Business

    Interlink object that is created for the Business Interlink definition.

    7. A user can now use the PeopleSoft application to run the Business Interlink. For example,the use can now connect to UPS and calculate shipping costs.

    Example 1: Calculating UPS Shipping Costs

    The Shipping Time & Cost example shows how Business Interlinks can be used. Shipping

    Time & Cost use the Business Interlink plug-ins that were written for UPS.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    14/284

    P E O P L E S O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    1 - 4 I N T R O D U C T I O N T O B U S I N E S S I N T E R L I N K S P E O P L E S O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Shipping Time & Cost Page

    In the Shipping and Time page, you can trigger two different Business Interlinks that call outto the UPS shipping and tracking Web site to calculate:

    Ground Time-in-Transit to determine how long it will take to deliver the package.

    Quick Cost to calculate how much it will cost to ship the package based on the

    shipping service type.

    For Quick Cost, you first enter Origin Country and Postal Code, Destination Country, PostalCode, Packaging information, and then you press the Calculate button. At this point, theBusiness Interlink is invoked on the Application Server, and it issues an HTTP request out tothe UPS Web site, which calculates the shipping costs and returns the information back to the

    PeopleSoft application. Here are the results of a Quick Cost calculation.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    15/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L E S O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L I N T R O D U C T I O N T O B U S I N E S S I N T E R L I N K S 1 - 5

    Shipping Time & Cost Page: Calculate Cost Business Interlink

    This diagram explains the processing flow of this example in more detail.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    16/284

    P E O P L E S O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    1 - 6 I N T R O D U C T I O N T O B U S I N E S S I N T E R L I N K S P E O P L E S O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Calculate Cost Business Interlink Processing Flow

    In the PeopleTools Application Designer, you can view the Business Interlink Definition forthe Quick Cost application. A Business Interlink consists of a set of inputs and outputs. The

    first screen shows the inputs, and the second shows the outputs.

    Calculate Cost Business Interlink Inputs

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    17/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L E S O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L I N T R O D U C T I O N T O B U S I N E S S I N T E R L I N K S 1 - 7

    Calculate Cost Business Interlink Outputs

    Example 2: Creating a Calculate XML Design-Time Plug-in

    Following is a simplified XML design-time plug-in example for a transaction named CalculateCost, with inputs of From, To, and Package_Info, and outputs of Service_Rate.

    UPS services

    1

    UPS plug-in

    ups.bmp

    file://ups.dll

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    18/284

    P E O P L E S O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    1 - 8 I N T R O D U C T I O N T O B U S I N E S S I N T E R L I N K S P E O P L E S O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    type="string"

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    19/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L E S O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L I N T R O D U C T I O N T O B U S I N E S S I N T E R L I N K S 1 - 9

    Runtime Plug-in: A set of C++, Visual Basic, or other high-level language methods that,when coded for an external system, encapsulate that external system and provide the executionmethods to match the Business Interlink Design-Time Plug-in.

    Catalog: the list of transactions, classes, and queries used to interface to the external system.Integration users are presented with this list when they pick the type of Business Interlink

    Plug-in they are going to use. There are four types of catalogs:

    Transaction catalog: lists transactions used to interface to the external system. See

    Transaction.

    Class catalog: lists classes used to interface to an external system. A class contains datamembers of basic types and/or objects that are typed after another class. A Class can alsocontain lists of basic types or objects.

    Operator catalog: lists query operators used to query the external system. These queryoperators are used to query the classes in the class catalog.

    Configuration parameter catalog: Used to configure an external system with PeopleSoft.

    For example, it might set up configuration and communication parameters for an externalserver.

    External System: Any system that is not directly compiled with the PeopleTools servers.

    PeopleCode: PeopleSoft's proprietary language; it is executed by the PeopleSoft ApplicationProcessor. PeopleCode generates results based upon specific actions, based upon existing dataor the actions of a user. Business Interlink Objects are executed by calling the execute()

    method from PeopleCode. This makes external services available to all PeopleSoftapplications wherever PeopleCode can be executed.

    PeopleCode Event: An action that an end-user takes upon an object, usually a Record Field,that is referenced within a PeopleSoft page.

    Query: a set of data members that are selected from a Class catalog (provided by the Business

    Interlink Plug-in) as well as a generic form of Criteria. The criteria are composed of statements that can be concatenatedusing a set of logical operators. All operators and class catalogs are dynamically provided

    through the Business Interlink Plug-in.

    Transaction: a named command with optional named and typed inputs and outputs. The

    associated external system or the Business Interlink Plug-in understands this command. Thetypes of inputs and outputs are based on a set of generic types.

    Shape: For a transaction, the set of inputs and outputs for that transaction. For a class, the data

    members of that class.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    20/284

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    21/284

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L D E S I G N I N G B U S I N E S S I N T E R L I N K T R A N S A C T I O N S A N D C L A S S E S 2 - 1

    C H A P T E R 2

    Designing Business InterlinkTransactions and Classes

    Listing Configuration Parameters

    Listing Your Business Classes

    Listing Your Business Transactions

    Diagram of the Calculate Cost Transaction

    When you use Business Interlinks with your system, you must design a set of Business

    Interlink Transactions and/or Classes. A Business Transaction, or transaction, is a namedcommand with optional named and typed inputs and outputs. A Business Class, or class, is a

    definition of a data structure. If you map the data structures in your external system toBusiness Classes, you can use the Business Interlink Framework to perform queries, adds,deletes, and updates on your data.

    You should be familiar with the PeopleSoft components, pages, or batch programs that will becalling your Business Interlink Plug-in, and the input and output data they will need, in orderto determine all the Business Transactions and Business Classes needed to be supplied by the

    plug-in.

    You will determine the following:

    If you need transactions, classes, or both.

    The list of transaction names, and the inputs and outputs for the transactions.

    The list of class names, and the data members for the classes.

    If you need a list of Configuration Parameters: global parameters that you can easilyaccess within the execution methods of your Business Interlink Plug-in.

    Listing Configuration Parameters

    You might need to supply Configuration Parameters. Configuration parameters are used asglobal parameters that you can easily access within the execution methods of your Business

    Interlink Plug-in. For example, an email system would often need information allowing accessto an email server, so its configuration parameters could be a mail server type (STMP orPop3), a logon name, a password, and an email address.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    22/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    2 - 2 D E S I G N I N G B U S I N E S S I N T E R L I N K T R A N S A C T I O N S A N D C L A S S E S P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    There is one configuration parameter that is standard: the URL configuration parameterspecifies where your Business Interlink runtime plug-in is located.

    See Also

    Specify Business Interlink Runtime Plug-in File Location

    If you use configuration parameters other that the URL configuration parameter, determine thefollowing information for each configuration parameter:

    The name.

    The data type.

    Example Design for Configuration Parameters

    The Freight Carrier example only uses the URL configuration parameter.

    Listing Your Business Classes

    You can use classes when you want to organize the input and output parameters for yourtransactions. For example, in a transaction for Freight Carrier that calculates the cost ofsending a package, you may use classes to organize the package information: its origin,destination, type, and account information.

    You can also use classes to map to data in your external system so that you can perform one ormore of the following methods on that data: query, add, update, and delete. For example, ifyou have a database with Customer records, you may want to be able to use all four methods:

    query for customer information, update a customer's information, add a customer to thedatabase, and delete a customer from the database. Or, if your external system provides accessto its application objects through a run-time object engine, or a relational storage, you want todefine a set of classes, each with their data members, some of which can point to other classes.

    If you use Business Classes, determine the following information for each class:

    The class name.

    The names and types of the data members for that class.

    Design for Freight Carrier Classes

    The Freight Carrier classes are used to help organize the input and output parameters for theFreight Carrier transactions.

    Origin, the class containing information about the origin location of a Freight Carrier package,can be designed as follows.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    23/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L D E S I G N I N G B U S I N E S S I N T E R L I N K T R A N S A C T I O N S A N D C L A S S E S 2 - 3

    Data Member Name Data Type

    Country Enumeration. The enumerated types are:

    United States, Puerto Rico

    Postal_Code String

    Destination, the class containing information about the destination location of a FreightCarrier package, can be designed as follows.

    Data Member Name Data Type

    Country Enumeration. The enumerated types are:

    Argentina,Australia,Aruba,Brazil,Bosnia,Canada,

    China,Costa

    Rica,Finland,France,Germany,Greece,Hong

    Kong,Iran,Italy,Israel,Japan,Korea,Mexico,Russia,Spain,Taiwan,United Kingdom,United

    States,Zambia

    City String

    Postal_Code String

    Address_Type Enumeration. The enumerated types are:

    Commercial, Residential

    Package_Information, the class containing information about a Freight Carrier package, can be

    designed as follows.

    Data Member Name Data Type

    Drop_off_Pickup Enumeration. The enumerated types are:

    Regular Daily Pickup,On Call Air,One Time

    Pickup,Letter Center,Customer Counter

    Packaging Enumeration. The enumerated types are:

    Your Packaging,UPS Letter Envelop,UPS

    Tube,UPS Express Box,UPS Worldwide 25KGBox,UPS Worldwide 10KG Box

    Weight Integer

    Length Integer

    Width Integer

    Height Integer

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    24/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    2 - 4 D E S I G N I N G B U S I N E S S I N T E R L I N K T R A N S A C T I O N S A N D C L A S S E S P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Service Rate, the class containing information about the Freight Carrier service rates, can bedesigned as follows.

    Data Member Name Data Type

    Service_Type String

    Guarnteed_By String

    Rate String

    Listing Your Business Transactions

    If the purpose of your external system is to perform functions (other than update, add, delete,

    query of structured data), you will likely use Business Transactions.

    If your external system already provide a set of transactions with well-defined interfaces, youare almost done with this step. You will only need to organize a list of transaction names, eachwith a set of (optionally hierarchical) named and typed inputs and outputs. On the other hand,

    if there are no well-defined transactions for interfacing, you may need to define a set of logicaltransactions that wrap around the lower level functions you are trying to expose.

    If you will use Business Transactions, decide on the following information for eachtransaction:

    The transaction name

    What the transaction does

    What input and output parameters the transaction uses, and their data types

    Design For Freight Carrier Transactions

    Calculate Cost, the transaction that calculates the cost of sending a Freight Carrier package,can be designed as follows.

    Input Parameter Name Data Type

    From Origin class

    To Destination class

    Package_Info Package_Information class

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    25/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L D E S I G N I N G B U S I N E S S I N T E R L I N K T R A N S A C T I O N S A N D C L A S S E S 2 - 5

    Output Parameter Name Data Type

    Service_Rate Service Rate class

    Time-in-Transit, the transaction that calculates the time taken to ship an item, can be designedas follows.

    Input Parameter Name Data Type

    From Origin class

    To Destination class

    Output Parameter Name Data Type

    From Origin class

    To Destination class

    Transit_Time String

    Tracking, the transaction that tracks a shipped item, can be designed as follows.

    Input Parameter Name Data Type

    Tracking_Number String

    Output Parameter Name Data Type

    Tracking_Number String

    Status String

    Date Date

    See Also

    Writing an XML Design-Time Plug-In

    Diagram of the Calculate Cost Transaction

    Here is a diagram of the Calculate Cost(Domestic) transaction resulting from the designs inthis chapter.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    26/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    2 - 6 D E S I G N I N G B U S I N E S S I N T E R L I N K T R A N S A C T I O N S A N D C L A S S E S P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Design of Calculate Cost Transaction: Inputs

    Design of Calculate Cost Transaction: Outputs

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    27/284

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N 3 - 1

    C H A P T E R 3

    Writing an XML Design-Time Plug-In

    Using The XML Template File To Create Your XML Design-Time Plug-In

    Example of an XML design-time plug-in for a Freight Carrier Business Interlink

    Diagram of the Transactions

    Writing The Tags in an XML Design-Time Plug-In

    Data Types

    Once you have designed your transactions and classes by naming the transactions/classes andtheir parameters, you introduce your transactions and classes to the Business Interlink

    framework. Before you can manifest your transactions as Business Interlink Definitions, youintroduce them to the PeopleTools design-time environment. This is accomplished bysupplying a an XML design-time plug-in. This plug-in is used to define and save BusinessInterlink Definitions. It can also be used to test the Business Interlink Definition by simulatingthe execution of the corresponding Business Interlink Objects, if you supply default output

    values.

    After you have decided what services that your system should support, check the services to

    see if their catalogs are static. A static catalog means that the transactions and classes are

    predefined; the input/output parameters for a transaction, or the data members for a class, arenot changeable in data type or number of parameters/members.

    When you use static catalogs, you can supply an XML design-time plug-in. The XML design-

    time plug-in uses tags for expressing all the information required for defining the interface toyour transactions.

    Note. For comparison, a dynamic catalog would mean that the transactions and classes are

    changeable; a plug-in to a database would allow the members of a class to be changed, also a

    new class can be added or deleted. ThePeopleSoft Business Interlink Runtime Plug-in

    Programming Guide contains a chapter, Writing the Design-Time Functionality Using

    Dynamic Catalog Methods, that describes how to write design time functionality when you donot write an XML design-time plug-in.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    28/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    3 - 2 W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Using The XML Template File To Create Your XML Design-TimePlug-In

    When you write your XML design-time plug-in, you can copy the file template.xml, and edit

    that copy to create your own XML design-time plug-in. The template.xml file contains most

    of the structure that you need for your XML design-time plug-in. Copy the template.xml filefrom the following directory, and then use a text editor to create your XML design-time plug-in.

    The template is stored at the following location:

    \SDK\src\C++\TEMPLATES

    For examples of completed XML design-time plug-ins, search the following directories for

    file names ending with .xml:

    \SDK\src\C++\Samples

    Example of an XML design-time plug-in for a Freight CarrierBusiness Interlink

    This section contains an XML design-time plug-in for a Freight Carrier plug-in. It containsfour classes (Origin, Destination, Package_Information, Service_Rate) and three transactions

    (Calculate Cost, Tracking, Time-in-Transit). Note that the classes are used as inputs andoutputs for the transactions.

    See Also

    Designing Business Interlink Transactions and Classes, Design for Freight Carrier Classes and

    Design For Freight Carrier Transactions

    UPS services

    1

    UPS plug-in

    ups.bmp

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    29/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N 3 - 3

    file://ups.dll

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    30/284

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    31/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N 3 - 5

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    32/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    3 - 6 W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    type="object"

    classname="Destination"/>

    Diagram of the Transactions

    Here is a diagram of the Calculate Cost transaction resulting from the XML code in thischapter.

    Design of Calculate Cost Transaction Inputs

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    33/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N 3 - 7

    Design of Calculate Cost Transaction Outputs

    Writing The Tags in an XML Design-Time Plug-In

    This section of the chapter explains each tag that you write in the XML design-time plug-in,and provides an example for each tag.

    The main tag for the Business Interlink XML design-time plug-in is . Itcontains the , , , ,and tags.

    Write the General Information for the Plug-in

    In the tag, write a description of your plug-in and the version number for yourplug-in, and optionally the last time the XML design-time plug-in was updates and anycomments for this XML design-time plug-in.

    Here is an example of how the tag is coded for a Freight Carrier plug-in. Thedescription is FEDEX services, and the version number is 1.

    UPS services

    1UPS plug-in

    ups.bmp

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    34/284

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    35/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N 3 - 9

    Here is an example of how the tag could be coded. The supported BusinessInterlink type is transaction.

    Write A Business Interlink TypeWrite an tag for each Business Interlink type that your plug-in supports. The tag must be placed within a tag.

    Here are examples of tags that support the Business Interlink types of transaction,static catalog (static catalog being required in the XML design-time plug-in), andinput_class_expandable, so that inputs can be classes.

    The valid values for type are:

    type Definition

    static_catalog When you write an XML design-time plug-in, you have static catalogs. You

    must include the following tag with every XML design-time

    plug-in for a Business Interlink Plug-in:

    transaction Your plug-in supports transaction Business Interlinks.

    object_query Your plug-in supports query Business Interlinks.

    object_add Your plug-in supports add Business Interlinks.

    object_update Your plug-in supports update Business Interlinks.

    object_delete Your plug-in supports delete Business Interlinks.

    order_by_desc If you use the object_query type, you can use order_by_desc for descending

    order. This type allows a query Business Interlink Object to list query

    results in descending order. The type order_by_desc is only used with query

    Business Interlink types.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    36/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    3 - 1 0 W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    type Definition

    order_by_asc If you use the object_query type, you can use order_by_asc for ascending

    order. This type allows a query Business Interlink Object to list query

    results in ascending order. The type order_by_asc is only used with query

    Business Interlink types.

    input_class_expandable You must include the following tag with every XML design-timeplug-in that contains, within a tag, an tag that is of

    type object. The object type allows inputs to be classes by pointing to a

    tag.

    See Write an Input Parameter for a Transaction .

    output_class_

    expandable

    You must include the following tag with every XML design-time

    plug-in that contains, within a tag, an tag that is of

    type object. The object type allows outputs to be classes by pointing to a

    tag.

    See Write an Output Parameter for a Transaction .

    hierarchical_model To support Business Interlink Object Lists, set the hierarchical_model

    object type.

    To support Business Interlink Object Lists, you should support the hierarchical_model object

    type in the section of your XML Design-Time Plug-In:

    Within the Business Interlink Definition created from this XML Design-Time Plug-In, this

    setting allows you to select the children of two object lists that are at the same level of aBusiness Interlink Definition hierarchy.

    For example, the following Business Interlink Definition contains object lists at the samelevel.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    37/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N 3 - 1 1

    Referrals Object List Not Selected

    Once a child of Directory_Entries is selected, Referral_URL can not be selected unless theXML Design-Time Plug-in supports the hierarchical_model object type.

    Directory_Entries Not Selected

    Likewise, if Referral_URL is selected first, Directory_Entries can not be selected unless theXML Design-Time Plug-in supports the hierarchical_model object type.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    38/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    3 - 1 2 W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    List The Query/Update Relational Operators

    If you use object_query or object_update types, then you can write relational operators byusing the tags. Use the tag only if you have relationaloperators. The tag must be placed within a tag. The tag is only valid with the Interlink types of object query or object update.

    The following example shows how you would set relational operators for + and !=.

    List The Query/Update Logical Operators

    If you use object_query or object_update types, then you can write logical operators by usingthe tags. In these tags, include the name of the operator. Use the

    tag only if you have logical operators. The tag must be placed within a tag. The < logical _op> tag is only valid with the Interlink types of objectquery or object update.

    The following example shows how you would set logical operators for OR and AND.

    Write an tag for each relational operator and logical operator that your plug-insupports. The tag must be placed within a tag or a

    tag.

    The following example shows how you would set a relational operator for !=.

    List The Configuration Parameters

    In the tag, write the configuration parameters for your plug-in.Configuration parameters contain data that can be used in a variety of ways, depending upon

    your system. A common use is for the configuration parameters to be a set of global variablesthat you would use when you write the execution code for your plug-in. Another common use

    for configuration parameters is data that helps connect your external service to PeopleSoft.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    39/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N 3 - 1 3

    Here is an example of how the tag is coded for a Freight Carrier plug-in.

    file://ups.dll

    Note. Whenever you specify a UNIX directory name as a configuration parameter, you must

    end the directory name with a backslash /.

    Here is an example of how the tag could be coded for an email plug-in.This example shows how two configuration parameters are coded. The configuration

    parameter SMTP_MAIL_SERVER is of type string, has a default value of st-sun13.peoplesoft.com, and is a required configuration parameter. The configuration parameterLOGIN_NAME is of type string, has a default value of certora, and is a required configuration

    parameter.

    file//:myplugin.dll

    Write A Configuration Parameter

    Write a tag for each configuration parameter that your plug-in uses. The tag must be placed within a tag. A tagcontains a name and type, and an optional default value.

    Here is a tag for a required configuration parameter that is a character stringnamed LOGIN NAME.

    See Also

    Data Types

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    40/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    3 - 1 4 W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Error Check BI Documents

    When set to ON, the PeopleCode program that runs a BIDocs object is checked to see if itexists before adding/getting values from it. A BIDocs object is the most common method used

    by PeopleCode to access the input and output data for Business Interlinks.

    See Also

    For more information about the PeopleCode program for Business Interlinks, seePeopleSoftBusiness Interlink Application Developer Guide, Running the Business Interlink Object.

    For example, if the BIDoc object Rate does not exist, and BIDocValidate is set to ON, thenthe following line of PeopleCode will cause an error:

    &ret = &biDocs.GetValue("Rate", &RATE);

    The default value is ON.

    Specify Business Interlink Runtime Plug-in File Location

    Write a tag if you want to specify where the Business Interlink runtime plug-in islocated. Here is an example of how the tag is coded for a Freight Carrier plug-in,

    telling that the runtime plug-in is a file named psfedex.dll.

    file://ups.dll

    If you supply a tag, and the plug-in is not found in the location specified by the

    tag, an error message will occur when a user attempts to use this plug-in. The plug-incan be specified as follows:

    file://runtime_plug-in_name.dll

    runtime_plug-in_name the name of the Business Interlink runtime plug-in.

    This will find a runtime plug-in named runtime_plug-in_name.dllin the InterfaceDrivers directory. The

    InterfaceDrivers directory is located in the PeopleToolsinstallation.

    file://path/runtime_plug-in_name.dll

    path the path to your Business Interlink runtime plug-in file.

    runtime_plug-in_name the name of your runtime plug-in file.

    This will find the runtime plug-in named runtime_plug-in_name.dllat the specified path on the computer wherePeopleTools is installed.

    http://webserver/servletname

    webserver the URL where the Business Interlink installation is

    located. (Windows NT only.)

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    41/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N 3 - 1 5

    servletpath the path to a servlet on the Business Interlink installation.

    servletname varies depending upon the Business Interlink installation for the web server. For

    Microsoft IIS, the default name is:

    BusInterlink.asp

    For Apache Web Server, the default name and path is:

    Servlets\BusInterlinkServlet

    Forservletname to work, the runtime plug-in must use the same name as the name of theXML design-time plug-in. For example, if runtime is fcarrier.dll, the design-time must befcarrier.xml.

    See also

    PeopleSoft Business Interlink Runtime Plug-in Programming Guide

    The method that the Business Interlink Framework uses to find your runtime plug-in DLL fileis:

    1. It looks in the location specified by the tag.

    2. If there is no tag, it looks in the location specified by the Browse For Folder page,which is accessed by pressing the Location button in the New Business Interlink page.

    Browse For Folder Page

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    42/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    3 - 1 6 W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    3. If the search location button is not used, it looks in the InterfaceDrivers directory:

    PeopleTools_directory\ptdvl\bin\client\win86\InterfaceDrivers

    wherePeopleTools_directory is the directory where PeopleTools is installed.

    Write the Class Catalog

    In the tag, write the class catalog that you want to use with your plug-in. The

    class catalog provides the categories for the classes, the names of the classes, the names of thedata members for each class, the data type of each data member, and optional default valuesfor the data members.

    Write The Categories For The Classes

    You organize the classes into categories with the tag. The tag must

    be placed within a tag or a tag.

    For more information about categories, and an example of using the tag, refer to

    Write The Categories For The Transactions .

    For classes, you can write the tag in two ways: named and unnamed.

    Put classes into a tag when you want to use the class as a transaction input oroutput parameter or a class data member, and you do not use that class with the Business

    Interlink types object_query, object_add, object_update, and object_delete.

    Put classes into a tag when you define within the tag one ofthe Business Interlink types that operate on classes: object_query, object_add, object_update,object_delete. Business Interlink Objects of those types can then operate on those classes.When a user, within the Application Designer, uses the Business Interlink Search page to

    search for the class from which to create that Business Interlink Definition, the user can selecta category to list the classes in that category, which were listed in the tag in theXML design-time plug-in.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    43/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N 3 - 1 7

    You can put classes into an unnamed tag when you want to use the class only as atransaction input or output parameter or a class data member.

    Note. When you place a class into an unnamed tag, it will not appear in the

    Business Interlink Search page in the PeopleSoft Application Designer.

    Write A Class

    Write a tag for each class that your plug-in will use. The tag must be placedwithin a tag. Classes are data structures, which consist of members. Members can

    be basic types such as integers and strings, members can be lists of basic types, and members

    can be other classes. Classes are used in two ways:

    Application Developers create Business Interlink Definitions/Objects that will perform

    queries, adds, updates, or deletes upon these classes.

    Classes can be used as members of other classes and as transaction input or output

    parameters.

    Here is an example of how a tag is coded for a Freight Carrier plug-in. It creates aclass named Origin.

    Write Members For A Class

    Write a tag for every data member that a class uses. The tag must beplaced within a tag. A tag contains a name and type, and an optionaldefault value. It can also contain a trim, which causes all leading and trailing spaces to betrimmed from the data member; any spaces within, such as in value 1, are not trimmed.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    44/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    3 - 1 8 W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Note. Whenever you specify a UNIX directory name as a data member, you must end the

    directory name with a backslash /.

    Here is an example of how a tag is coded for a Freight Carrier plug-in. It creates adata member named OriginPostal_Code.

    trim="true"/>

    When you use trim, and you are building XML tags, you might need to add a space when

    calling AddValue in your PeopleCode program to control the output. For example, for thefollowing class:

    Within PeopleCode, you can add a space with the member that has the trim:

    &date = "abc";

    &EndDateDoc.AddNextDoc();

    If &date "" Then

    &ret = &EndDateDoc.AddValue("Date", "2001-8-10");

    Else&ret = &EndDateDoc.AddValue("CurrentFlag", " ");

    End-If;

    Without the space, you get the following tag:

    With the space, you get the following tag:

    See AlsoData Types

    Write the Transaction Catalog

    In the tag, write the transaction catalog that you want to use with your plug-in. The transaction catalog provides the names of the transactions, the names of the input and

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    45/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N 3 - 1 9

    output parameters for each transaction, the data type of each parameter, and optional defaultvalues for the input and output parameters.

    Write The Categories For The Transactions

    Organize the transactions into named tags. When a user, within the Application

    Designer, uses the Business Interlink Search page to search for the transaction from which tocreate that Business Interlink Definition, the user can select a category to list the transactions

    in that category, which were listed in the tag in the XML design-time plug-in. The tag must be placed within a tag or a tag.

    For example, the following XML code shows a tag named PUS transactions.

    Write A Transaction

    Write a tag for each transaction that your plug-in will use. A transaction is anamed command that can have inputs and outputs. The tag must be placedwithin a tag.

    Here is an example of how a tag is coded for a Freight Carrier plug-in. It

    creates a transaction named Calculate Cost.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    46/284

    P E O P L ES O F T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    3 - 2 0 W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    List the Input Parameters

    If the transaction has input parameters, list each one within an tag. The tag must be placed within a tag.

    Write an Input Parameter for a Transaction

    Write an tag for every input parameter that a transaction uses. The tag must

    be placed within an tag. An tag contains a name and type, and anoptional default value.

    Note. Whenever you specify a UNIX directory name as an input parameter, you must end the

    directory name with a backslash /.

    Here is an example of how an tag is coded for a Freight Carrier plug-in. It creates aninput parameter named From, which in turn uses the named Origin. The data

    members of Origin are used as input parameters for this transaction.

    Here is an tag for an input parameter that is a floating point variable named dollar.

    See Also

    Data Types

    List the Output Parameters

    If the transaction has output parameters, list each one within an tag. The tag must be placed within a tag.

    Write an Output Parameter for a Transaction

    Write an tag for every output parameter that a transaction uses. The tagmust be placed within an tag. An tag contains a name and type, and

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    47/284

    P E O P L E S OF T B U S I N E S S I N T E R L I N K D E S I G N - T I M E P L U G - I N P R O G R A M M I N G G U I D E

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L W R I T I N G A N X M L D E S I G N - T I M E P L U G - I N 3 - 2 1

    an optional default value. It can also contain a trim, which causes all leading and trailingspaces to be trimmed from the data member; any spaces within, such as in value 1, are nottrimmed. See Write the Class Catalog, under , for triminformation.

    Note. Whenever you specify a UNIX directory name as an output parameter, you must endthe directory name with a backslash /.

    Here is an example of how an tag is coded for a Freight Carrier plug-in. It createsan output parameter named Service_Rate, which in turn uses the named

    Service_Rate. The data members of Service_Rate are used as output parameters for thistransaction.

    Here is an tag for an output parameter that is a date variable named overdue.

    See Also

    Data Types

    The following screen shows, within the Application Designer, the inputs for the Time-in-

    Transit transaction.

    Data Types

    The types you can use for configuration parameters, input parameters, output parameters, anddata members are:

    Type Definition and format

    Int An integer.

    String A character string.

    Float A floating point variable.

    Boolean A Boolean value of TRUE or FALSE.

    Date A date. The format is YYYY-MM-DD, where YYYY is the year, MM is the

    month, and DD is the day.

    Time A time. The format is HH:MM:SS, where HH is the hour, MM is the minutes,

    and SS is the seconds.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    48/284

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    49/284

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L D E P L O Y I N G Y O U R X M L D E S I G N - T I ME P L U G - I N 4 - 1

    C H A P T E R 4

    Deploying your XML Design-TimePlug-In

    Once you have written your XML design-time plug-in, place it into the following directory:

    PSHome\bin\client\winx86\interfacedrivers

    Where PSHome is the directory where PeopleTools is installed.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    50/284

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    51/284

    P E O P L E S O F T P R O P R I E T A RY A N D C O N F I D E N T I A L G L O S S A R Y 1

    Glossary

    The terms in this glossary are used among multiple Financials and Supply Chain Management

    applications.

    Numbers

    401(a)(17) Limits

    The limitations on the earnings that may be included in the calculation of benefits underqualified U.S. pension plans.

    1st Year Amount

    In PeopleSoft Workforce Analytics, 1st Year Amount is an employee-level compensationamount, totaling the calculations for the first calendar years worth of accounting periods, in acompensation scenario.

    A

    Abend

    Abnormal End (to a process).

    ABM (Activity-Based Management)

    See PeopleSoft Activity-Based Management.

    ABPS (Activity-Based Planning and Simulation)

    See Activity-Based Planning and Simulation.

    Absence

    An absence occurs when an employee is not at work (absent) during a normally scheduled

    work period. Absences may be scheduled or non-scheduled, compensated or uncompensated,excused or unexcused. An absence may occur for a variety of reasons like illness, familyemergency, civic obligations (e.g. Military duty or jury duty), or vacation.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    52/284

    G L O S S A R Y

    G L O S S A R Y 2 P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Absence Entitlement

    Element which defines the rules for granting paid time off for valid absences, such as sicktime, vacation, and maternity leave. An absence entitlement element defines the entitlementamount, frequency, and entitlement period.

    Absence TakeElement which defines the conditions that must be met before a payee is entitled to take paidtime off.

    Accepted Exception

    An exception that has been reviewed and validated (see Time Management).

    Accommodations

    Accommodations are efforts your organization is able to make for employees or applicantswith disabilities, such as purchasing special equipment or making structural changes to a work

    environment.

    Account Management

    In PeopleSoft Demand Planning, a feature that enables you to divide a centrally held corporateforecast into multiple subsections for easier maintenance and management. These subsectionsare separate databases that can be distributed to account managers for use and updates, thenrejoined with the main database at a later date.

    Account

    A code for recording and summarizing financial transactions as expenditures, revenues, assets,

    or liabilities balances. This is a delivered PeopleSoft ChartField, specific use of which istypically defined by the organization during implementation of PeopleSoft General Ledger.

    Account Type

    A name for one of the different kinds of accounts used in a PeopleSoft General Ledger, suchas Asset, Liability, Equity, Revenue, and Expense.

    Accounting Class

    In PeopleSoft Enterprise Performance Management, an attribute that defines how theparticular resource would be treated for generally accepted accounting practices. Inventory

    denotes whether a Resource will become part of a balance sheet account such as inventory orfixed assets, while Non-inventory denotes that the Resource will be treated as an expense ofthe period during which it occurs.

    Accounting Date

    The date that a transaction is recognized as opposed to the date the transaction actuallyoccurredthe Transaction Date (although the two dates can be the same). The accountingdate determines the period in the general ledger to which the transaction is to be posted. You

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    53/284

    G L O S S A R Y

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L G L O S S A R Y 3

    can only select an accounting date that falls within an open period in the ledger to which youare posting. The accounting date for an item is normally the invoice date. In PeopleSoft AssetManagement, the difference between accounting date and transaction date determines whether

    prior period depreciation must be calculated, and how much. Accounting Date must be laterthan or equal to Transaction Date.

    Accounting Entry

    A set of related debits and credits. An Accounting Entry is made up of multipleAccountingLines. In most PeopleSoft applications, accounting entries are always balanced (debits =credits). Accounting entries are created to record accruals, payments, payment cancellations,manual closures, project activities in general ledger, and so forth (depending on theapplication).

    Accounting Entry Template

    A user-defined table that controls the use of system-generated accounting lines in the postingprocesses.

    Accounting Split

    Method indicating how expenses are allocated or divided among one or more sets ofaccounting ChartFields.

    Accredited Education

    Education above the high school level completed in a U.S. college, university, or othereducational institution that has been credited by one of the accrediting agencies or associationsrecognized by the Secretary, U.S. Department of Education.

    Accrual

    Any hours that employees accumulate for use at another time in the form of earned vacationtime or sick leave, for example.

    Accrual Basis Accounting

    Accounting that records the impact of a business event as it occurs, regardless of whether thetransaction affected cash.

    Accrual Class Codes

    Classes or categories of accruals.

    Accrual Type

    Defines an accrual such as annual leave or sick leave.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    54/284

    G L O S S A R Y

    G L O S S A R Y 4 P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    Accumulate Demand

    In PeopleSoft Demand Planning, a transfer process function that adds demand quantities foran item to any quantities that already exist for the period.

    Accumulator

    Element which allows you to combine several elements. For example, an accumulator couldconsist of all voluntary deductions, or all company deductions, enabling you to accumulateamounts. It allows total flexibility for time periods and values accumulated. See also TimeAdministration.

    Accumulator [Global Payroll]

    Element which provides a means for storing the cumulative values of defined items as they areprocessed. As you make payments, take deductions, and perform calculations, youll useaccumulators to track accumulated amounts, or balances. You can accumulate a single valueover time or multiple values over time, as your requirements specify. For example, anaccumulator could consist of all voluntary deductions, or all company deductions, enablingyou to accumulate amounts. It allows total flexibility for time periods and values accumulated.

    Action

    In PeopleSoft Deduction Manangement, a task that you perform to obtain information requiredto resolve a deduction.

    Action and Conditions

    A process that defines actions and conditions independently of one another and then combinesthem to create a complete rule (see Rule Creation).

    Action Code

    In PeopleSoft Engineering, a user-defined code associated with an event/action triggered bythe implementation of an engineering change order (ECO). Actions could include analyzingan item's existing quantity on hand, scrapping existing inventory, or modifying currentdocumentation.

    In PeopleSoft Product Configurator, a 2-character code that identifies rule types. Forexample, FPis the action code for the Finalize Price rule, and CNis the action code for theCondition rule. The rules control the processing path for configured items.

    Action ListAn online list of customers who meet predefined credit management criteria. The list alsoincludes appropriate procedures for each action and contact information for the customer.

    Action Owner

    In PeopleSoft Deduction Management, the individual assigned a task to obtain information toresolve a deduction.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    55/284

    G L O S S A R Y

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L G L O S S A R Y 5

    Action Reason

    The reason an employees job or employment information is updated. The action reason isentered in two parts: apersonnel action, such as a promotion, termination, or change from one

    paygroup to anotherand a reason for that action. Action Reason is used by PeopleSoftHuman Resources, PeopleSoft Benefits Administration, PeopleSoft Stock Administration, andthe COBRA Administration feature of the Base Benefits business process.

    Active Control

    A target control requiring that the user validate the budget against the planning targets beforesubmitting it. If the budget totals are not within the tolerance levels, the system indicates thatthe status is invalid and the user cannot submit their budget until the budget is modified andthe amount is within the tolerance range of the planning target.

    Activity

    In PeopleSoft Receivables and Deduction Management, an action taken on an item, such ascreating an item, unposting an item, or writing off an item.

    In PeopleSoft Projects, the unit of work that provides a further breakdown of projectsusually into specific tasks. Resources are assigned directly to activities within a project, notdirectly to projects.

    A self-contained task that is part of one or more business processes. Business process mapsdisplay the activities that make up the process. An activity consists of steps representing the

    pages the user needs to complete and events representing the workflow routings triggered bythe user's actions.

    In PeopleSoft Enterprise Warehouse, the work of an organization and the aggregation of

    actions used for Activity-Based Costing.

    Activity Attributes

    Activity Attributes provide pieces of activity information. For example: capacity andperformance, cost drivers, cycle time and performance measures.

    Activity-Based Costing (ABC)

    A methodology that measures the cost and performance of activities, resources and costobjects, assigns resources to activities and activities to cost objects based on their use andrecognizes the causal relationships of cost drivers to activities.

    Activity-Based Management (ABM)

    See PeopleSoft Activity-Based Management (ABM).

    Activity-Based Planning and Simulation (ABPS)

    ABPS, a feature of PeopleSoft Activity-Based Management, calculates resource demands,new rates, costs, and activity volumes based on demand forecasts. It converts the new

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    56/284

    G L O S S A R Y

    G L O S S A R Y 6 P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L

    resource demands into new cost requirements at the General Ledger item level to feed as inputfor budgeting.

    Activity Driver

    An Activity Driver indicates the amount of demand there is for a particular activity and it is

    used to assign cost to cost objects. In some instances, an activity driver may represent theyield of an activity.

    Activity Fragmentation

    The part of the Employee Profile feature that provides information about the number ofemployees that is involved in completing a particular activity on a full or part-time basis.

    Activity ID

    A unique 15-character alphanumeric identifier given to each activity within a project. ActivityIDs need only be unique within a single project.

    Activity List

    In PeopleSoft Pension Administration, a checklist used to monitor pension-related activities.

    Activity Type

    A user-definable identifier for grouping activities.

    Activity Type

    Also known as Activity Code. A categorization of work effort. Typically work effort is

    categorized as productive or non-productive; Repair, Maintenance, Enhancement, orImprovement; or Development or Construction. Activity type is usually required to supportcost accounting or financial accounting (recording) functions. It may also be required tosupport some organizational administration requirements such as organizational productivitygoals, or employee performance measurement. In some companies, activity type is inferredfrom job function, work group affiliation, or organization.

    Activity Use

    An attribute used to describe the behavior of an Activity as defined within PeopleSoftEnterprise Performance Management. A Primary Activity is an activity that is performed forthe purpose of directly generating revenue within the course of business. A Secondary

    Activity is generally performed in direct support of a Primary Activity such as activitiesrelated to human resources or MIS.

    Actual Base Hours

    This defines the number of hours that an employee is expected to work within a given periodunder analysis within PeopleSoft Enterprise Performance Management. Hours worked inexcess of Actual Base Hours are generally considered overtime, while hours worked less thanActual Base Hours would illustrate that the employee is working part-time.

  • 8/3/2019 PT 8.4 Interlink Design-Time Plug-In Programming Guide

    57/284

    G L O S S A R Y

    P E O P L ES O F T P R O P R I E T A R Y A N D C O N F I D E N T I A L G L O S S A R Y 7

    Actual Contribution Percentage (ACP)

    The amount of an employee's after-tax or employer matching contributions made in a Section401(m) plan on behalf of highly compensated plan participants, divided by the employee'sannual compensation, or an amount determined in the same manner with respect to non-highlycompensated employees. The Base Benefits business process is set up to perform ACPnondiscrimination tests for Section 401(m) plans. See Nondiscrimination Tests and HighlyCompensated Employee.

    Actual Date

    Calendar date in which a punch occurred (see Time Reporting).

    Actual Deferral Percentage (ADP)

    The amount of salary reduction contributions made by an employee to a Section 401(k) planfor a year, divided by the employee's total compensation for that year. The Base Benefits

    business process is set up to perform ADP nondiscrimination tests for Section 401(k) plans.See Nondiscrimination Tests and Highly Compensated Employee.

    Actual Demand

    In PeopleSoft Demand Planning, an Array of demand by historical period imported from anexternal system. The demand figures are determined by imported values and typically includeshipments, orders booked, orders booked by requested ship date, or shipments.

    Actual Rates

    An Actual Rate is the rate that your business currently uses for its business practice.

    Actuarial AssumptionsAny assumptions used to calculate an equivalent benefit for an optional form of payment or analternative retirement date.

    Actuari