tools notes

193
TOOL NOTES Summary of Notes Types of Database Tables System Catalog Tables – indexes, created views, and characteristics of tables and columns PeopleTools tables – object-related data, such as fields, records, pages, style sheets and menus. Names begin with PS (no underscore). Application Data tables – contains data created by user. Stores pages, supplies image and URL address repositories. Would also store query definitions. Names begin with PS_. Portals A web site that helps you navigate to other web-based applications and content. It is the entry point for users. Can access and view reports through protals. Two Types: 1) Application – Does not allow access to external web content. Only PS applications available from an application portal. 2) Enterprise individually purchased from PS. a) WorkForce Portal b) Customer Portal c) Supplier Portal Portal Navigation Sets 1) Categories 2) My Favorites 3) Breadcrumbs 4) Search F7 and F8 do not work with the web. Can use Access Keys instead (Alt9) Servers Web Server - A Java-enabled web server is required to support browser transaction requests and the application messaging technology. You install on the web server a collection of PeopleSoft Java servlets designed to handle a wide range of PeopleSoft transactions. The Report Manager servlet enables users to easily access and distribute the output of batch reports, such as Crystal and SQR, run through Process Scheduler over the Internet. This servlet retrieves the report output in the Report Repository and serves it to the browser. Caches images, styles sheets, and java scripts. Carolyn K. Filer Page 1 of 193 06/06/22 7:14 AM

Upload: raj3ps

Post on 23-Oct-2014

137 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tools Notes

TOOL NOTES

Summary of NotesTypes of Database Tables System Catalog Tables – indexes, created views, and characteristics of tables and columns PeopleTools tables – object-related data, such as fields, records, pages, style sheets and

menus. Names begin with PS (no underscore). Application Data tables – contains data created by user. Stores pages, supplies image and

URL address repositories. Would also store query definitions. Names begin with PS_.

PortalsA web site that helps you navigate to other web-based applications and content. It is the entry point for users. Can access and view reports through protals. Two Types:1) Application – Does not allow access to external web content. Only PS applications available

from an application portal.2) Enterprise – individually purchased from PS.

a) WorkForce Portalb) Customer Portalc) Supplier Portal

Portal Navigation Sets1) Categories2) My Favorites3) Breadcrumbs4) SearchF7 and F8 do not work with the web. Can use Access Keys instead (Alt9)

ServersWeb Server - A Java-enabled web server is required to support browser transaction requests and the application messaging technology. You install on the web server a collection of PeopleSoft Java servlets designed to handle a wide range of PeopleSoft transactions. The Report Manager servlet enables users to easily access and distribute the output of batch reports, such as Crystal and SQR, run through Process Scheduler over the Internet. This servlet retrieves the report output in the Report Repository and serves it to the browser. Caches images, styles sheets, and java scripts. Application Server - Where all PS logic occurs. Performs all application processing. It is the “brains” of the PIA. Generates HTML to be displayed in the browser by PSAPPSRVHTML to be displayed in the browser. Jolt runs on the application server. Execution of reports (or can be moved to an different server).Database Server - Purely a database. It now stores pages, images, and URL repositories. Would also store query definitions.Directory Server - optional

Required fields:1) Key Fields2) Alt Search Key3) Check Box,4) Radio Button5) Eff_Status,

Types of ObjectsField (Page Control) – Green Asterisk next to field in component indicates it is a required field.

Carolyn K. Filer Page 1 of 13404/07/23 8:02 PM

Page 2: Tools Notes

TOOL NOTES

Record -> Page (Folder Tabs on Component) –>Component (all pages share the same search record, deferred processing option, and actions)–> Menu –> Bar Item

Field Attributes:1) Field attributes that are inherited from field definition and are global.

a) Field nameb) Typec) Lengthd) Formate) Long Namef) Short Nameg) Translate values

2) Record field attributes, which apply to the field’s function within a specific recorda) Use – identifies search keys, alternate search keys, list box item, field audits, and defaultsb) Edits – prompt tables, required field, table editsc) PeopleCode

Translate Fields - Only one table per database shared by all applications. (XLATTABLE) Properties

a) Effective date (1-1-1900)b) Must be a Character Typec) Must be 1 to 4 char long (recommend 4)d) Should contain a small set of values (recommend 30 maximum)e) Has no search capabilities in its dialog box.f) Usually represented by a drop-down list, but can use radio buttons. Can use an edit box

(but is discouraged). g) Used to validate data.

Radio Buttons – validated against translate values

Search Key defines which fields will be used in prompt box for searchList Box defines which fields will be used in list box

Search record for a dialog box is usually the record for the table being accessed. The goal is to search against the table that is the source of all the level-zero search key(s). The search record must contain all of the level-zero search key fields on the page

Search records control two important aspects of how applications function:1) Control which values you can enter to access an application2) Control which fields appear in the search dialog box.

All pages within one Component (Panel Group) must share one search record and all actions.

Edit Box (magnifying glass)

Carolyn K. Filer Page 2 of 13404/07/23 8:02 PM

Page 3: Tools Notes

TOOL NOTES

Prompts against a prompt table - You can specify a view as the prompt table, which only returns certain rows of data, and thus control what certain users can have access to. Prompts against the lowest level key field (excluding Effdt)

Displays the code only

Drop-Down List (down arrow triangle) Prompts against the Translate table Usually displays a descriptionMax 300 rows returned

LevelsOccurs Levels - All fields at the same level must come from the same record definition unless they are related fields. Four scoll area are allowed (Level 0, 1, 2, 3). It is a standard for Level 0 to always point to a physical SQL table (not a view). . There are no restrictions on how many scroll areas can be created at each occurs level, only the number of occurs levels

Types of Views1) SQL View – an SQL statement. 2) Query View3) Dynamic View - _DVW. A Dynamic view is not defined as a view to the database. It is

stored on the client. (On line use of vies. Off Line use of Views – reporting or COBOL processes.On Line uses of Views - Summary pages, Search records, Prompting (only return certain rows of data, and thus control what certain users can have access to.)

The SQL select statement to create a view are:1) The columns in the Select claused must be in the same order as the fields appear on the

record definition for the view.2) You can use meta-SQL to write platform-independent code, i.e., today’s date =

%CurrentDateIn.Views do not generate their own indexes,Views are stored in System Catalog tables.

Build Sequence number controls the order in which views in a project are created.

VariablesLocal Variables – only exist for the life of a program. Starts with &.Global Variables – exist for the life of the session. Starts with &.Component Variables – Exist for the life of a Component. Starts with &.System Variables – start with %. Created when user logs onto PS.

Types of Diagrams1. Entity Diagram - PeopleSoft application databases are designed using Evergreen's Easy

CASE Entity Relationship diagramming tool.2. Business process definitions - are graphical representations (maps) of your company's

business processes that help guide users through the various application panels they'll use to complete certain procedures.

3. Step map - displays the steps (individual procedures) that comprise a business process. When a user clicks on a step icon, the system opens the application panel associated with that step. Thus, step maps provide a link from the business process map to application panels.

Carolyn K. Filer Page 3 of 13404/07/23 8:02 PM

Page 4: Tools Notes

TOOL NOTES

SecurityUser ID -> Roles -> Permission Slips (Operator Class)

1) *Internet Security - Controls user access to shared hardware and software resources2) *Web Server/Application Server –Operating system security controls access to system

objects and resources.3) *DBMS (Database) Security - Controls access to the database tables.

a) User Security – who has access to PS applications, when tht access is granted, and the level of authorized functionality. Established using Maintain Security.

Operator Attributes Password Languare Menus Signon Business process Process profile

b) Row-level security – implemented via SQL views to control the rows of data that can be accessed by a each user.

c) Field-level security – restricts user access to specific data fields. Assigned by assigning PeopleCode to the restricted field, or by placing restricted fields on pages to which all users do not have access.

* Configured outside of PS

When an application server is booted, the User ID/Operator ID specified in the configuration file, PSAPPSRV.CFG must be authorized to start an application server. That authorization is provided by a setting in the STARTAPPSVR column in PSOPRDEFN—a value of 1 authorizes an operator to start an application server. You can also grant this authorization through Security Administrator in the Options group when defining an operator. Just select the Allowed to start application server checkbox.

In order to view Menus / Component (Panel Group)s, there are three areas of security Permission Lists (Class) Roles User Ids

PIA – PeopleSoft Internet Architecture

Derived/Work Records – used to calcualte values online, such as the Total Order Amount_WRKTemporary Tables – used for batch processing. Used to store specific data to update without risking your main application table.

Integration Tools - Integration Tools describes the various ways in which you can link PeopleSoft applications and third-party applications together.

a) Business Interlinkb) Application Messagingc) Application Engine

Peoplebooks

Carolyn K. Filer Page 4 of 13404/07/23 8:02 PM

Page 5: Tools Notes

TOOL NOTES

RED - Warning! Yellow – Note or important information. Gray – Cross Reference or For More Information.To print a topic from PeopleBooks with all inline graphics and scaled properly then select File, Print.

Query - Allows users to create and run database queries using a visual representations fo the database, without having to write SQL statements.Data Mover - Execute SQL statements against any PeopleSoft database, regardless of the underlying operating system or database platform. Launch from outside PS. Windows based program, that runs on the client workstation. Can run in two-tier only. Data Mover – Execute SQL statements against any PeopleSoft database, regardless of the underlying operating system or database platform Launch from outsideFunctionsInternal – Declared by FUNCTION statementExternal – Declared by DECLARE statement

Integration ToolsFrom PS to External – Outbound1) Business Interlink2) Application Messaging3) Application Engine

From External systems to PS – Inbound1. Component Interface2. Application Messaging3. App Engine and file Object

Flat Files can be loaded with File Object

Type of Changes

Requires Synchronizing Record Definition with Application Data

Requires creation of new indexes

Requires Alter

Add a Field Yes YesDelete a Field Yes YesChanging the Name of a Field on a record

Yes

Modify the Length of a field Yes YesChanging a field type (will require you to delete the original field and add a new one)

Yes

Change Required Status of a field that is not a chracter or numeric field

Yes

Add a Key YesDelete a Key YesModify A Key Yes

Carolyn K. Filer Page 5 of 13404/07/23 8:02 PM

Page 6: Tools Notes

TOOL NOTES

Type of Changes

Requires Synchronizing Record Definition with Application Data

Requires creation of new indexes

Requires Alter

Duplicate Order Keys YesAlternate Search Keys YesDescending Keys YesList Boxes YesChange the order of keys (ascending vs. descending)

Yes

Image 1) Definitions

a) Formatsi) .BMPii) .DIBiii) .JPG

2) Image Data within fieldsa) Format – Media Cybernetics Halo Image Library formats.

i) JPG – Only one supported by PIA.

ReportingSQR – BRIO third-party Crystal – SEAGATE third parttyNVision - Only run on the Windows NT Operating SystemReport Manager - Provides a means to view report content, Check the status of a job, See content detail messagesTypes of output: Any File Printer Window Email Web

Queries – can only run pre-defined queries in a browser.Output generated in HTML.

Jolt - Runs on the application server. Jolt extends Tuxedo's capabilities to the Internet; it is the communication layer between the web-based environment and the C++ environments. Jolt is a companion product that must coexist with Tuxedo on the same application server machine. Jolt is not a standalone product; it can’t function without Tuxedo.

Carolyn K. Filer Page 6 of 13404/07/23 8:02 PM

Page 7: Tools Notes

TOOL NOTES

Detail Notes_TAO Most applications will require one or more temporary tables to contain

transient data. This is especially true of applications that take advantage of set processing techniques. Normally, you would name a temporary table something that ends with "_TMP." However, because Application Engine has checkpoint/restart capabilities, these tables should not really be considered temporary. To protect the overall integrity of the database, we recommend that you give these tables names that end in "_TAO." This is a PeopleSoft standard that will earmark these "not quite temporary tables," and help protect them from being deleted by mistake.

AccessKeys To assist in data entry and navigation. Eliminates the use of the mouse.Alt1 – SaveAlt-2 – Return to SearchAlt-3 – Next in ListAlt 4 – Previous in ListAlt 5 – Search, Lookup, OK, and ContinueAlt-6 – CancelAlt-7 – Row Insert (Add)Alt-8 – Row Delete Alt-0 – Exit

Actions Set on the Component (Panel Group) Properties, Internet Tab, Toolbar, Selected Toobar Activities.

Actions are added on the Component (Panel Group) Properties, Use Tab, Action group box. Add – needed to add new keys Update/Display – used by most pages Update/Display All – needed for effective dated pages Correction – needed for effective-dated pages.

Properties are defined in the Component (Panel Group). Actions are part of the properties for each Component (Panel Group). Thus, separate pages within the Component (Panel Group) will also have the same actions.

All pages within one Component (Panel Group) must share one search record and all actions.

Activity Specific transactions you might need to perform. Known as a step mapAdd Action Retrieves no data - Updates nothing

Inserts new High_level Key Inserting a row on an effective dated table, causes the contents of the

current row to be copied to the new one. Inserting a row into an effective-dated parent table copies all the

associated child rows with the new effective date.

Set on the Component (Panel Group) Properties, Internet Tab, Toolbar, Selected Toobar Activities.Actions are added on the Component (Panel Group) Properties, Use Tab, Action group box.

Advanced Search Search on any combination

Carolyn K. Filer Page 7 of 13404/07/23 8:02 PM

Page 8: Tools Notes

TOOL NOTES

Alias Can assign an alias name to the names of tables to save typing. Technically, a column name only needs to be qualified if it appears on both tables.

Alternate Search Key Application Designer, Record Field Properties, Use Tab

The following record definition changes require the creation of new indexes:1) Add, delete, or modify keys2) Duplicate order keys3) Alternate search keys4) Descending keys5) Or list box fields6) Change the order of keys (ascending vs. descending)

Indexes built with a name of PsnRecname, i.e., PS0Vehicle_Tbl

Search Dialog Boxes are constructed according to the search key(s) and alternate search key(s) of the search record designated in the Component (Panel Group) properties.

Within a View, only specify search keys, alternate search keys, and lists box items if a search dialog box is going to be built within it.

A view used as a search record (_SRCH), should have a dialog search box that looks the same as the original base record. Each should have the same search keys, alternate search keys and list box items in the same order. The order of alternate search keys within the search dialog box will be th same as their order on the record definition.

Analyzing changes to record definitions

Use Application Designer, Edit, Find Object References to obtain a listing of objects referencing a particular definition

PeopleTools Utilities, Use, Record CrossReferenceApplication Agent Uses the Role definitions and Business Process definitions to determine how

workflow applications should process the data entered into a PS application page.

Application Data tables

The SQL Table and the data stored in it. Contains data created by user. Names begin with PS_.

When you create a record definition, you must create an SQL Application Data table in which to store the application data, based on a subsest of the parameters of the record definition via the Build function.

Synchronizing of Record Definition with the Application Data table if the following are altered1) Add or delete a field on a record2) Modify the length of a field3) Change the required status of a field that is not a character or numeric

field.

Application Designer Go, PeopleTools, Application Designer

Carolyn K. Filer Page 8 of 13404/07/23 8:02 PM

Page 9: Tools Notes

TOOL NOTES

Application Designer -> Go, PeopleTools, Application Designer

An integrated development and upgrade toolOrganizes object definitions into a single work area.

Nine Steps1. Design the Application

Project within the Design Application – Create a Project2. Define New Fields (PeopleTool Tables – Field Definition)3. Create the Record Definition (PeopleTool Tables – record definition)4. Build the SQL Table (System Catalog and Application Data Tables –

build function)5. Create the Page Definition (PeopleTool Tables – page definition)6. Define the Component (Panel Group) (PeopleTools Table –

Component (Panel Group) definition)7. Create the Menu Definition (PeopleTools tables – menu definition)

From other sources:8. Enable Security (PeopleTools tables – Maintain security)9. Test the Application (Query)

WorkSpace:1. Project Workspace – displays all the development objects relating to a

project.2. Development Tab – used to create and modify application objects.3. Upgrade Tab

4. Object Workspace – used to create, view, and modify object definitions.5. Output Window – used to view the results of application designer

operations.

Application Designer – Upgrade View

Key – Lists object names of the select object type in your project.Source – Status of the objects in the source database. Until an upgrade comparison is run, this remains Unknown.Target – Displays the status of the objects in the target database. Until an upgrade comparison is run, this remains UnknownAction – When you isnert an object into a project, the action is initially Copy, which means “Copy the source object to the target database.”Upgrade – Check box is selected by default, which means “When performing the Copy, you must perform the action on each object reference in its action field”. If you decide not to perrform the action, simply clear the check box.Done – This box remains clear until you copy the project into your target datbase. It then indicates that the copy was successful.

Application Objects Saved in PS Tools Metadata Repository.

At execution time, the most recent definition is retrieved. It compiles and caches in memory the definition and executes the rules based on the definition.

Carolyn K. Filer Page 9 of 13404/07/23 8:02 PM

Page 10: Tools Notes

TOOL NOTES

Application Processor Buffer Allocation is how the application data is brought down from the database server and stored temporarily in memory on the client workstation while a page group is in use. All the application data that is needed for the entire Component (Panel Group) is brought at the same time before the page is displayed. The Application Processor allocates buffers for a Component (Panel Group) in a consistent order.

Performance is greatly affected by the buffers of the Component (Panel Group). The more application data that is brought down from the server, the more time it will take to retrieve Component (Panel Group). Many applications also have PeopleCode edits, which are performed on the client workstation. All fields referenced by a PeopleCode program must be available in the buffers of the Component (Panel Group). If not, the program will not run.

How Buffer is loaded for a Component (Panel Group):Once you select a search key, all the application data needed for the Component (Panel Group) is retrieved from the database. The buffers on the client workstation are allocated and populated in a very precise manner. The Application Processor uses occurs levels in the Component (Panel Group), and the order that pages reference record definitions.1) Fills buffers for all Level 0 record definitions in the tab order on the page

definition.2) It fills the first row of data for each record definition at Occurs Level 1 (if

it exitsts).3) Looks for data subordinate to Occurs Level 1.4) Retrieves all rows at the Occurs Level 2 (if it exists).5) Retrieves all rows at the Occurs Level 3 (if it exists).

There are only two cases when the Application Processor does not allocate an entire row of data during buffer allocations.1) Level 0 Record – It does not retrieve any data other than the search keys

or alternate search keys. If you reference a non-search or alternate search key field at Level 0, then the entire row is returned

2) Related Display Records – Related fields point to a different record than the primary record behind a scrollable area. It retrieves only that field and not the entire row. If a PeopleCode porgram on the primary record behind that page references a field on the related field’s record, that field is also returned.

Only one row of data can exist at Level 0

The application processor does not allocate a row of data for the Level 0 record definition unless there is at least one field present on the page that is not in the dialog box. If all the Component (Panel Group) Level 0 fields are in the dialog box, the Application Proccesor retrieves these values from the key list that is stored in memory on the client workstation.

Because the application processor won’t have to retrieve related display fields when populating pages in a view, it provides better system performance.

Carolyn K. Filer Page 10 of 13404/07/23 8:02 PM

Page 11: Tools Notes

TOOL NOTES

Application Security Available through PS User security Row-level security Field-level security

Application Server Where all PS logic occurs. It is the “brains” of the PIA. Generates HTML to be displayed in the browser.

Auto-Join Can set preferences on Query panel to enable Auto-Join. Will join using all matching key fields

Automatically Inserted into Project

Setup on the Tools, Option, Project Tab defines how and when objects are to be added to the project. Select the following options to have objects automatically inserted into the

open projectWhen object is created

When object is modified and savedBar Items Go, PeopleTools, Application Designer, File, New, Menu

Add bars to the menu (optional)Double-click the dotted rectangle in the menu bar. Complete the Bar Item Properties Dialog Box.

Bar Item Properties (Double-click one of the above bar labels to view the bar item properties.)

Name Label

Basic Search Search on single search key or alternate search key.Boolean Logic Not

AndOr

Carolyn K. Filer Page 11 of 13404/07/23 8:02 PM

Page 12: Tools Notes

TOOL NOTES

Buffer Allocation Buffer Allocation is how the application data is brought down from the database server and stored temporarily in memory on the client workstation while a page group is in use. All the application data that is needed for the entire Component (Panel Group) is borught at the same time before the page is displayed. The Application Processor allocates buffers for a Component (Panel Group) in a consistent order.

Performance is greatly affected by the buffers of the Component (Panel Group). The more application data that is brought down from the server, the more time it will take to retrieve Component (Panel Group). Many application also have PeopleCode edits, which are performed on the client workstation. All fields referenced by a PeopleCode program must be available in the buffers of the Component (Panel Group). If not, the program will not run.

How Buffer is loaded:Once you select a search key, all the application data needed for the Component (Panel Group) is retrieved from the database. The buffers on the client workstation are allocated and populated in a very precise manner. The Application Processor uses occurs levels in the Component (Panel Group), and the order that pages reference record definitions6) Fills buffers for all Level 0 record definitions in the tab order on the page

definition. Only one row of data can exist at Level 07) It fills the first row of data for each record definition at Occurs Level 1 (if

it exitsts).8) Looks for data subordinate to Occurs Level 1.9) Retrieves all rows at the Occurs Level 2 (if it exists).10) Retrieves all rows at the Occurs Level 3 (if it exists).

There are only two cases when the Application Process does not allocate an entire row of data during buffer allocations.3) Level 0 Record – It does not retrieve any data other than the search keys

or alternate search keys. If you reference a non-search or alternate search key field at Level 0, then the entire row is returned.

4) Related Display Records – Related fields point to a different record than the primary record behind a scrollable area. It retrieves only that field and not the entire row. If a PeopleCode program on the primary record behind that page references a field on the related field’s record, that field is also returned.

When a user clicks on a prompt button, PS Looks in the buffer to see if the base table already exists in the buffer.

Build Function Creates Tables Views Indexes (done when you build a table) Synchronizes the System Catalog Tables and PeopleTools tables to the

Application Data.

Modifies Existing Table

Carolyn K. Filer Page 12 of 13404/07/23 8:02 PM

Page 13: Tools Notes

TOOL NOTES

To build an SQL Table process Open the record definition (File, Open) Set Build Options (Build, Current Object) Select Build Settings (Settings button on the Build Dialog box)

(if you ever recreate a view, be sure your Build Settings are set to Recreate view if it already exists (default setting).

Complete the Create, Alter, Logging, and Scripts tabs Execute the build (click Build) Confirm the Build (Optional) (Use Query) Create Views

Create Table Processes Drop table if it already exists Create Application Data Table

a) Record Definition Parameteri) Record Definition Nameii) Field Name(s)iii) Field Type

(1) If push button or hyperlink(a) Push Button(b) Hyperlink

iv) Destination (for push buttons or hyperlinks)(1) External Link – launches a URL(2) Internal Link – launches a PS page(3) PeopleCode Command – Executes any FieldChange or Field

Edit PeopleCode(4) Process – runs processes (if previously setup within the

Process Scheduler)(5) Prompt Action – Display a prompt dialog for a specific control

field.(6) Scroll Action – bottom, top, insert row actions.(7) Secondary Page – displays a secondary page(8) Toolbar Action – Display these actions: Save, Display next

page in Group, Correction,.v) Field Length

b) Used on Application Data Tablei) Table Name (add PS_ prefix)ii) Column nameiii) Column typeiv) Column length

Insert values for NOT NULL Fieldsc) Record Definition Parameter

i) Numeric field(s)ii) Character field(s)iii) Non-character and non-numeric required field(s)

d) Used on Application Data Tablei) Value = zeroii) Value = blank spaceiii) Value = default from record definition

Carolyn K. Filer Page 13 of 13404/07/23 8:02 PM

Page 14: Tools Notes

TOOL NOTES

Create Index(es)e) Record Definition Parameter

i) Key field(s)ii) Alternate search key field(s)

f) Used on Application Data Tablei) 1 per tableii) 1 per alternate search key field

Build Execute Optionsg) Build Script fileh) Execute SQL now – generates the required SQL without a script file

and builds the script immediately.i) Execute and build script – builds both a table and a script.

Synchronizing of Record Definition with the Application Data table if the following are altered4) Add or delete a field on a record5) Modify the length of a field6) Change the required status of a field that is not a character or numeric

field.

Run alter if:1. Adding a field to a record2. Deleting a field on arecord3. Changing the name of a field4. Changing the length if a field 5. Changing a field type (will require you to delete original field, and add

a new one.)

SQL view record definitions must be created on the database server using build, Current Object in Application Designer. Because views don’t store data, you can’t lose any physical data by dropping and recreating a view. Do not select the Create Indexes option. Views do not generate their own indexes, they use the indexes of the physical tables referenced in the view. Will add the PS_prefix to the table name, unless you entered a non-standard SQL Table Name.

Carolyn K. Filer Page 14 of 13404/07/23 8:02 PM

Page 15: Tools Notes

TOOL NOTES

Build Settings A button on the Build Settings dialog box that allows you to set one-time-user-defined defaults.

Build Settings Folder1) Create – determines if a new table or view overwrites an existing table

a) Recreate table/view/index if it already exits - removes the following from the database:i) Table Structureii) All data contained in the tableiii) Views or grants referencing that table.

b) Skip table/view if it already exitsc) Recreate index only if modified

2) Alter – gives options to prevent the dropping of existing application data tables and the data they contain. (System selected prior to Vs. 8.0). Recreate all view with an Alter. a) Alter in Placeb) Alter by Table Rename.c) Alter by Table Recreation.

3) Logging – controls log files created druing execution of a Build.4) Scripts – Build Execute Options control the creation of script files when

either of the following build options are selected.a) Build script file.b) Execute and build script.

To confirm table creation use:1) Query2) SQL Select statements (Microsoft SQL Server, Query Analyzer, logon

name: sa, password: sa [case sensitive]).Business Interlinks Allows you to integrate PS with third-party software.Business Process Several related activities that compromise a business process.Business Process Maps

Business process definitions are graphical representations (maps) of your company's business processes that help guide users through the various application panels they'll use to complete certain procedures. Maps provide a visual overview of the steps involved in a particular procedure and give users a clear, quick way to navigate to the panels for each step. They provide a process-oriented organization of application panels that supplements the function-oriented menus.

Categories Menu groups (navigation tools)

Carolyn K. Filer Page 15 of 13404/07/23 8:02 PM

Page 16: Tools Notes

TOOL NOTES

Check Box On position – when user selects the box. Required field.

On the Application Designer, Page Definition you must designate two values (one for on and and one for off). The selected On Value or Off Value is written to the Application Data table when the check box is checked. You must assign values for check boxes and radio buttons.

Record Field Properties, Use Tab, Default Panel Control System Default Check Box Radio Button Drop Down ListCan also indicate the default value for the field.

Child/Parent Tables A child table must have all the key fields of the parent table in the same order plus at least one additional key field.

A scroll area within a scroll area on a page indicates a parent/child relationship. The outer scroll area is the parent, and the inner one is the child.

Example: Parent table – one outermost scroll area

Key: Checklist_Cd Key: Effdt

Child table – one inner scroll area Key: Checklist_Cd Key: Effdt Key: Checklist_Seq

Inserting a row into an effective-dated parent table copies all the associated child rows with the new effective date.

When you prompt for a valid value, only those rows with an effective date that is equal to or less than the effecive date on the parent table will be displayed in the list box. (current and future)

No EFFDT – retrieves the first 300 rows EFFDT (Prompt Table), No EFFDT (parent table) – rows categorized

against the system date. Current rows retrieved EFFDT (prompt table), EFFDT (Parent table) – rows categorized by

EFFDT. Current rows retrived. No EFFDT (prompt table), EFFDT (parent table), all rows retrievable.

List box limited to first 300 rows.

Carolyn K. Filer Page 16 of 13404/07/23 8:02 PM

Page 17: Tools Notes

TOOL NOTES

Class Formal deifnition of an object. Acts like a template from which an object is created at runtime. Come predefined by PS. You cannot create your own custom classes.

Classes: Field Record Row Rowset Array File SQL

Class of Objects Formal definition of a type of object1) Defines properties (attribute) of the object2) Defines the methods used to control the object’s behavior3) Events

A Class is a Template for an objectComponent (Panel Group)

Represents logical business transactions. The data can be display on one or more pages, but the functionality contained in that Component (Panel Group) is loaded, executed, and saved to the database as a single unit of work, not individual pages.

Purposes: Provide a way to organize related pages. Bridge the gap between pages and menus. (Component (Panel Group)s, not pages, are added to menus).

DEFINING A COMPONENT (PANEL GROUP)1) Open Application Designer

Go, PeopleTools, Application Designer2) Create a new Component (Panel Group):

File, New, Select Component (Panel Group) from dialog box.3) Add pages to a Component (Panel Group) definition:

Insert, Page into Group and select the page from the Insert Page dialog box.ORDrag page definition from the Pages folder into the Projecxt Workspace onto the new Component (Panel Group) definition.

4) Define Component (Panel Group) attributesDefine for each page. Indicate if the page is hidden, enter the Component (Panel Group) cascading menu item label, enter the folder tab label.

5) Set Component (Panel Group) Properties.Select File, Object Properites. Enter documentation on the General Tab, set the search record actions, and the PS Internet Architecture execution location on the Use Tab.

6) Name and Save the Component (Panel Group) definitionSelect File, Save

Each page within the Component (Panel Group) creates a Folder Tab on a

Carolyn K. Filer Page 17 of 13404/07/23 8:02 PM

Page 18: Tools Notes

TOOL NOTES

page, when viewed.

The properties assigned to a Component (Panel Group) apply to all pages in the Component (Panel Group).

In order to view Menus / Component (Panel Group)s, there are three areas of security Permission Lists (Class) Roles User Ids

If there are more related record definitions than can fit on a single page, you can spread the parent child relationships across multiple pages, typically within the ame Component (Panel Group). Each Tab could represent a different child.

Separate pages in a Component (Panel Group) must have the same search record. You define this attribute in the Component (Panel Group) properties. You define this attribute in the Component (Panel Group) properties.

Fields should be editable on only one page within a Component (Panel Group).

Buffer Allocation is how the application data is brought down from the database server and stored temporarily in memory on the client workstation while a page group is in use. All the application data that is needed for the entire Component (Panel Group) is borught at the same time before the page is displayed. The Application Processor allocates buffers for a Component (Panel Group) in a consistent order.

Performance is greatly affected by the buffers of the Component (Panel Group). The more application data that is brought down from the server, the more time it will take to retrieve Component (Panel Group). Many applications also have PeopleCode edits, which are performed on the client workstation.

All fields referenced by a PeopleCode program must be available in the buffers of the Component (Panel Group). If not, the program will not run.

When changing the search record on an existing Component (Panel Group), you change it in all places where that Component (Panel Group) is used in the online application. If you need only to limit the rows a user can see on one Component (Panel Group), you can clone that Component (Panel Group) and change the search record on the new version.

As long as the search record contains the same search key as all the pages within the Component (Panel Group), modifying the search record should not require any changes to the pages

The search record is a binding and necesssry property of the Component (Panel Group) definition and makes the Component (Panel Group) a

Carolyn K. Filer Page 18 of 13404/07/23 8:02 PM

Page 19: Tools Notes

TOOL NOTES

standalone and consistently reusuable object. This allows a Component (Panel Group) to appear to multiple menus through the application.

Security may be one reason to include a Component (Panel Group) on more than one menu.

When you insert a Component (Panel Group) into a menu, the search record defaults from the Component (Panel Group) definition. The Search Record Override feature on the Menu Item Properties dialog box allows you to reuse a Component (Panel Group) but specify different search criteria by using a different search record.

Component (Panel Group) Definition – Definition Tab

The grouping of pages and their associated labels on one Component (Panel Group). Creating Folder Tabs in the Component (Panel Group) with the related pages.The grouping of pages and their associated labels on one Component (Panel Group). Creating Folder Tabs in the Component (Panel Group)Control: A listing of the pages to be included in this Component (Panel Group). The groupings of pages and their associated labels on a cascading menu

Page Name. Item Name. Hidden check box. Item Label. Folder Tab Label. Allow Deferred Processing check box.

Search record used to retrieve data into the page. Associated user actions.

Combines with the menu definition to create a pathaway to your page.

Component (Panel Group) Definition Tabs Definition Structure

Component (Panel Group) Definition – Structure

File, Open, Component (Panel Group)

Shows the Pages as you wish them to be displayed on the menu. This displays the Scroll Levels, records, and scrolls in a tree presentation. A green asterisk appears beside any required fields.

Carolyn K. Filer Page 19 of 13404/07/23 8:02 PM

Page 20: Tools Notes

TOOL NOTES

Component (Panel Group) Properties

These attributes apply to each page assigned to this Component (Panel Group). This Component (Panel Group) is then linked to a menu definition.1) Search record used to retrieve data into the page2) Associated user actions

Search Dialog Boxes are constructed according to the search key(s) and alternate search key(s) of the search record designated in the Component (Panel Group) definition.

Component (Panel Group) Properties Tab General Use Internet

Controls the toolbar buttons to be displayed: Save Return to list Next in list Previous in list

Separate pages in a Component (Panel Group) must have the same search record. You define this attribute in the Component (Panel Group) properties. You define this attribute in the Component (Panel Group) properties.

Properties are defined in the Component (Panel Group). Actions are part of the properties for each Component (Panel Group). Thus, separate pages within the Component (Panel Group) will also have the same actions.

Component (Panel Group) Properties – General Tab

Actions: Add Update/Display Update/Display All Correction Data Entry

Properties are defined in the Component (Panel Group). Actions are part of the properties for each Component (Panel Group). Thus, separate pages within the Component (Panel Group) will also have the same actions.

Carolyn K. Filer Page 20 of 13404/07/23 8:02 PM

Page 21: Tools Notes

TOOL NOTES

Component (Panel Group) Properties – Internet Tab

Choose how your page will be displayed on the Web

Used to create the navigation and toolbars to be shown on the page for use on the internet.

Sections:1) Search Page2) Multi-Page Navigation

a) Display Folder Tab (top)b) Display Hyperlinks (bottom)

3) Toolbar: Selected Toolbar actionsa) Saveb) Return to listc) Next in Listd) Previous in Liste) Next Page in Component (Panel Group)f) Previous Page in Component (Panel Group)g) Addh) Update/Displayi) Update/Display Allj) Correctionk) Disable toolbar

Component Interface Component Interfaces serve to externalize the data in the PS system. Setup Table Interface Sales Order Status Process Scheduler API Expense Sheet

Provides real time synchronous access to the PS business rules and data associated with a Component by an external application.

Component PeopleCode Events

PreBuildPostBuildSavePreChangeWorkflowSavePostChange

Component Record Field PeopleCode Events

FieldDefaultFieldEditFieldChangePrePopup*

Component Record Fields

Component record fields – record fields used in a Component. They have their own independent event sets and PeopleCode programs. PeopleCode is associated with a record field, but only with respect to a Component and one of its events.

Component Record Field Event Set1) FieldChange2) FieldDefault3) FieldEdit4) PrePop-up

Component Search Records Event Sets

Carolyn K. Filer Page 21 of 13404/07/23 8:02 PM

Page 22: Tools Notes

TOOL NOTES

1) SearchInit2) SearchSave

Component Non-Search Records Event Sets1) RowDelete2) RowInit3) RowInsert4) RowSelect5) SaveEdit6) SavePreChange7) SavePostChange

Prior to PS8, you had to associate PeopleCode with a panel group. This is no longer needed with PS8.

Component Event Set1) PreBuild2) PostBuild3) SavePreChange4) WorkFlow5) SavePostChange

Component Record PeopleCode Events

RowSelectRowInitRowInsertRowDeleteSaveEditSavePreChangeSavePostChange

Component Search Record PeopleCode Events

SearchInitSearchSave

Component Variables Passes values between all programs within a component. Start with &Configuration Manager

Maintains PS specific registry settings at a central locationsOnly used to configure a single windows client workstation.Can sign into it outside of PS

Enhanced to create configuration profiles. Control Field The tab behind the Page Designer Tab. It displays the page fields in their

field. It shows theControl Field

Possible error messages: Invalid related display – not after control or related to field outside scroll.

Confirm that the display control fields are listed before the related display fields in the layout order

Carolyn K. Filer Page 22 of 13404/07/23 8:02 PM

Page 23: Tools Notes

TOOL NOTES

Correction Set on the Component (Panel Group) Properties, Internet Tab, Toolbar, Selected Toobar Activities.

Retrieves History, Current, Future rows of data Inserts any EFFDT Updates all rows

Pages that are effective-dated need the Correction Action on them. Actions are added on the Component (Panel Group) Properties, Use Tab, Action group box.

Create Table Process Creates Tables Views Indexes (done when you build a table) Synchronizes the PeopleTools tables and the System Catalog tables to the

Application Data Table.

Modifies Existing Table

Build an SQL Table process Open the record definition (File, Open) Set Build Options (Build, Current Object) Select Build Settings (Settings button on the Build Dialog box) Complete the Create, Alter, Logging, and Scripts tabs Execute the build (click Build) Confirm the Build (Optional) (Use Query)

Create Table Processes Drop table if it already exists Create Application Data Table

j) Record Definition Parameteri) Record Definition Nameii) Field Name(s)iii) Field Typeiv) Field Length

k) Used on Application Data Tablei) Table Name (add PS_ prefix)ii) Column nameiii) Column typeiv) Column length

Insert values for NOT NULL Fieldsl) Record Definition Parameter

i) Numeric field(s)ii) Character field(s)iii) Non-character and non-numeric required field(s)

m) Used on Application Data Tableiv) Value = zerov) Value = blank spacevi) Value = default from record definition

Carolyn K. Filer Page 23 of 13404/07/23 8:02 PM

Page 24: Tools Notes

TOOL NOTES

Create Index(es)n) Record Definition Parameter

i) Key field(s)ii) Alternate search key field(s)

o) Used on Application Data Tablei) 1 per tableii) 1 per alternate search key field

Synchronizing of Record Definition with the Application Data table if the following are altered7) Add or delete a field on a record8) Modify the length of a field9) Change the required status of a field that is not a character or

numeric field.

Cross Reference Home -> PeopleTools -> Utilites -> Use -> Record Cross ReferenceCan see where a record is being used as a search record as well as in other areas of the application.

Crystal Running Crystal Reports from the Process Scheduler gives you the option of running the report on your client workstation or on a Windows server without having to exit the PeopleSoft system or use a third-party scheduling program. What’s more, if you schedule processes to run on a Windows NT server, you can choose to run the report at a later date and time.

With PeopleTools 8.1, you can also run processes using Process Scheduler from your browser using PeopleSoft Internet Architecture.

Custom Index Indexes built with a name of PsxRecname, i.e., PSAVehicle_TblCustomer Connection Upgrade instructions.

Updates and fixes. Order printed, bound volumes of PeopleSoft online documentation. Continuous Documentation delivers continuous updates of our technical

documents, evolving information about PeopleSoft applications, development tools, and services.

Information on tuning and administration for the application server. Configuration alternatives, database connectivity on application servers,

and related topics.

Customizations Project within the Design Application – Create a Project1. Define New Fields (PeopleTool Tables – Field Definition)2. Create the Record Definition (PeopleTool Tables – record definition)3. Build the SQL Table (System Catalog and Application Data Tables –

build function)4. Create the Page Definition (PeopleTool Tables – page definition)5. Define the Component (Panel Group) (PeopleTools Table –

Component (Panel Group) definition)6. Create the Menu Definition (PeopleTools tables – menu definition)

From other sources:7. Enable Security (PeopleTools tables – Maintain security)8. Test the Application (Query)

Carolyn K. Filer Page 24 of 13404/07/23 8:02 PM

Page 25: Tools Notes

TOOL NOTES

Data Management Tasks

1) Building the delivered PS foundation database (Data Mover)2) Creating and maintaining multiple environments such as

a) Developmentb) Testingc) Quality Assuranced) Acceptancee) Production(Data Mover, Application Designer Upgrade Tools)

3) Applying periodic updates and fixes (Application Update methodology)4) Managing your customizations throughout the multiple environments

(Application Designer upgrade tools using the customization upgrade methodology).

5) Maintaining integrity and internal consistency of the database (DDDAUDIT, SYSAUDIT).

6) Upgrading your database with functional enhacements from PS as new application releases become available (Database Upgrade methodology with a variety of tools).

7) Validating and maintaining the functionality of the applications (SQA Robot).

8) Maintaining data currency (Mass Change, Application Engine)9) Protecting and maintaining the usability of the database through backup

and performance monitoring (RDBMS and third-party tools).

Data Migration Universal data management tool.Standarizes many of the installation, upgrade, and maintenance tasks.

Data Mover Data Mover is a PeopleTool that provides a convenient way to perform the following tasks: Transfer application data between PeopleSoft databases. Move PeopleSoft databases across operating systems and database

platforms. Execute SQL statements against any PeopleSoft database, regardless

of the underlying operating system or database platform. Control database security and access.

1) Enhanced interactive SQL tool.2) Allow selective data imports into an existing PS database3) Authorize RDBMS logon Ids to access PS database4) Re-encrypt passwords globablly or for a single user5) Rename record and and field names within a PS database6) Copy a PS database so that it can be rebuilt on a different platform.

Used to:1) Build Databases2) Upgrades3) Cross Platforms4) Re-setting Passwords5) Copying

Carolyn K. Filer Page 25 of 13404/07/23 8:02 PM

Page 26: Tools Notes

TOOL NOTES

Launch from outside PS. Windows based program, that runs on the client workstation. Can run in two-tier only.

During the execution of a Data Mover script, the database objects can be in flux. Tables can be dropped, indexes can be dropped or created, data can be loaded. Data Mover, thus, should have exclusive use of the database. It should not be run when other users are connected.

Your OPRID/.OPRCLASS must have access to the Data Mover via Security Administrator.

Two tools:1) SQL commands (uses semicolon-delimited SQL).

a) Insertb) Updatec) Deleted) Commite) Rollbackf) Createg) Alterh) Dropi) Grantj) (Does NOT support Select)

2) Data Mover commandsa) SET – specifies data input or output location, log file location, and

other environment settings.b) EXPORT – extract record information and data. Can do multiple

tables at one time, by using multiple EXPORT commands – one for each table.

c) IMPORT – insert record information and data into a PS database. i) Can only import one table at a tme.

d) GRANT_USER – Gives users permission to sign on. User ID must be in the PSOPRDEFN table.

e) ENCRYPT_PASSWORD – encrypts one user’s or all users’ passwords

f) RENAME – renames a PS record, field in one record, or field in all records.

Set Commands1) SET LOG – sets name of log file (dedfaults to datamove.log)2) SET NO TRACE – Overrides traces setup in configuration manager.3) SET OUTPUT – directory and file name for exported file. (default

datamove.data)a) Use suffix .db if exporting an entire databaseb) Use suffix.dat for less than a whole database

4) SET INPUT – directory and filename for the input file.5) SET START – Restarts the import processs at a point other than the

beginning of the iput file, to skip a failing table, or to restart after an error.6) SET COMMITT – Specify the frequency of SQL commits while data

being loaded into a table. Default – issued after all data rows are loaded

Carolyn K. Filer Page 26 of 13404/07/23 8:02 PM

Page 27: Tools Notes

TOOL NOTES

into the table.7) SET NO – SPACE – skip creation of record tablespaces

SET NO – RECORD – skip creation of table definitionsSET NO – DATA – prevent SQL INSERTs for dta rowsSET NO – VIEW – skip creation of SQL views.

8) SET IGNORE_DUPS – disregard duplicate INSERT errors.

Does not perform data integrity checks. You can create child tables without parent tables.

Syntax rules:1) Every command statement must be followed by a delimiter

a) Semicolon (;)b) Forward slash (/) Must be on a line by itself in Column 1, and must

immediately follow a command statement.2) Any amount of white space is allowed3) Case-insensitive4) String constants are case-sensitive and must be surrounded by single

quotes. 5) A double-dash (--) does not require a delimiter termination. It cannot span

more than one line.

To run a script fileFile, Run Script

Be certain that the export file you process was created by Data Mover on the identical Tools version that you will use to perform the import.

Do NOT move object deifnitions cotained in the PeopleTools tables. They have version numbers, that if moved would corrupt the receiving database.

Data Mover Scipt file extension = .dms

Database Composed of Table Row Column

Database - RDBMS Relational Database Management System

To display database name1) Start, Programs, PeopleSoft8, Configuration Manager2) Click Display Tab3) Select Show Database Name checkbox4) Click OK

Database Security Controls access to database tables Assigned Ids and passwords Restricted access to tables, views, and commands Restricted access to System Administrator activites

Carolyn K. Filer Page 27 of 13404/07/23 8:02 PM

Page 28: Tools Notes

TOOL NOTES

Database Server Purely a database. It now stores page and supplies image and URL repositories. Would also store query definitions.

Application Data Tables house the actual data your users will enter and access through PeopleSoft application windows and panels.

Database Tables System Catalog Tables – indexes, and characteristics of tables and columns

PeopleTools tables – object-related data, such as records, pages, style sheets and menus. Names begin with PS (no underscore).

Application Data tables – contains data created by user. HTML tex files. Names begin with PS_. Where all PS logic occurs. It is the “brain” of the PIA. Generates HTML to be displayed in the browser.

DateTime Field Used as a date/time stamp to record fieldsDefault Label The default label for a Page control (field) is the long name of the record

field. You can change it to the short name, make up your own text, or have no label.

Default Page control (field)

Defines page control (field) element used to represent the field on the page.a) System Default

i) Date field – edit box with prompt buttonii) Translate table edit – Drop-down listiii) Prompt table edit – edit box with prompt buttoniv) Yes/No Edit – Check boxv) Long Character – long edit boxvi) None of the above – edit box

b) Dropdown listc) Check Boxd) Radio Button

Default Panel Control – on Record Field Properties, Use Tab

System Default Check Box Radio Button Drop Down List

Carolyn K. Filer Page 28 of 13404/07/23 8:02 PM

Page 29: Tools Notes

TOOL NOTES

Default Values Are written to the table when it is saved. Are case sensitive Are not enclosed in quotes Default Value: Constant: Effective Status = A

Default values for a field can be assigned in the form of a constant, or record name/field name combination

Default Values:1) Effdt2) Eff_Status3) Check Box4) Radio Button

On the Application Designer, Page Field Properties you can select the default value to be assigned to that field. (9-6). If this value is selected this value will be written to the designated Application Data table and column.

Record Field Properties, Use Tab, Default Panel Control System Default Check Box Radio Button Drop Down ListCan also indicate the default value for the field.

Leaving Defaults in place on the record definition can result in unpredictable output.

All fields brought into the record definition of a View bring their Use and Edit characteristics with them from the base tables. These attributes should be checked to make sure they are applicable to the view. If you don’t remove the defaults, you can get “ghost” rows on your data.

The default Occurs Level is always 1. You must change the Occurs Level if you want something other than 1.

Carolyn K. Filer Page 29 of 13404/07/23 8:02 PM

Page 30: Tools Notes

TOOL NOTES

Deferred Processing

Applies to all field types except: Static images and Pushbuttons/hyperlinks.

Deferred processing enables your user to input data and tab through a page with minimal interruption or trips to the server for validation. Processing can be deferred until the user 1. Clicks on a push button, 2. a hyperlink, 3. saves, or 4. navigates to another page in the component.

In order for deferred processing to occur for a field, it must be set in:1. the field properties, 2. page properties and the 3. component properties

By default, deferred processing is set to on for controls and pages and off for components. Thus, for a particular field to utilize deferred processing, you must manually turn it on in the component properties.

You can also control the use of Deferred Processing Mode for individual controls on the Order tab when viewing your page. The last column contains checkboxes indicating whether each of the fields on the page have deferred processing assigned to them.

Note. Deferred processing mode affects the appearance of pages significantly. We recommend not using related fields for components that use this mode.

Expert Entry allows you to select standard or deferred processing for each end user.

Derived/Work Field Passes values between all programs within a component. Used to display calculated values on a page. Not stored in the database. Available in memory until the component is canceled. Can be on any level of a page.

Derived/Work Records used to calcualte values online, such as the Total Order Amount

_WRK Identifies record definitions created as derived/work records.

Carolyn K. Filer Page 30 of 13404/07/23 8:02 PM

Page 31: Tools Notes

TOOL NOTES

Descending Key Application Designer, Record Field Properties, Use Tab

The following record definition changes require the creation of new indexes:1) Add, delete, or modify keys2) Duplicate order keys3) Alternate search keys4) Descending keys5) Or list box fields6) Change the order of keys (ascending vs. descending)

Design the application First Step Define functional or business requirements Develop a set of itemized requirements that lists all the new system

functionality needed to meet the business objective including1. Data flow diagrams2. Processing logic3. Field definitions4. Table definitions5. ERD diagrams6. Page layouts7. Technical considerations

Development Mode Select Layout, Test mode to toggle between the test mode and development mode. Use test mode to view how the Page will look in production, check the tabbing order, and confirm that fields marked as invisible are not viewed by the user.

Development Tab On Project Workspace of Application DesignerUsed to create and modify application objects

Carolyn K. Filer Page 31 of 13404/07/23 8:02 PM

Page 32: Tools Notes

TOOL NOTES

Dialog Box Dialog Box used for search record or prompt table lookups, is composed of:1) Search Keys2) Alternate Search Key

To determine the appropriate search record:1) What is the search key on the page?2) What table (record definition) contains all possible values for that key?3) What fields do you want to see in the search dialog box?

The search record for a dialog box is usually the record for the table being accessed. The goal is to search against the table that is the source of the level-zero search key(s)

Although a field can be a Key field, it does not have to be a search key. For example, the EFFDT field, is usually a key field, but is not a search key, and thus does not appear on the search dialog box.

The application processor does not allocate a row of data for the Level 0 record definition unless there is at least one field present on the page that is not in the dialog box. If all the Component (Panel Group) Level 0 fields are in the dialog box, the Application Proccesor retrieves these values from the key list that is stored in memory on the client workstation.

Within a View, only specify search keys, alternate search keys, and lists box items if a search dialog box is going to be built within it.

Display Control Field Identifies a field from another table, typically a prompt table or a Xlattable. A Related Display Field contains information derived from the Display Control Field and is displayed on the Page.

Field Display Control Field Related DisplayREF_CURR Currency_Cd on Currently_Cd_Tbl Descr from Currenty Cd_Tbl

The tab behind the Page Designer Tab. It displays the page fields in their field. It shows the Display Control

Related Display Fields display data based on the value entered in a Display Control field. A Related Display field is populated with data by a record definition different from the Display Control field to which it is linked.

Display Control FieldDisplay Only Display only access to a page is granted via the Permission-List in Maintain

Security

Carolyn K. Filer Page 32 of 13404/07/23 8:02 PM

Page 33: Tools Notes

TOOL NOTES

Display Options On the Page Field Properties Display Zero Password Show Prompt Button Auto Fill Display Time Zone Display Century Currency Symbol 1000 Separator Auto Decimal

Distinct You can eliminte duplicate rows, by adding the key word DISTINCT to your SQL statement.

DML DML refers to data manipulation commands which define the contents of a database.1) Insert Rows2) Delete Rows3) Update Rows4) Encrypt Rows

Drop Down List (down arrow triangle icon)

On the Application Designer, Page Definition assign the source of the displayed text from either the Xlat Short or Xlat Long field, or a Prompt Table Field.

Edit Box (magnifying glass) Typically prompts against a prompt table Click the prompt button to display a list of valid values Prompting opens a separate list box to display valid values Max 300 rows returned Displays the code only

Drop-Down List (down arrow triangle) Typically prompts against the Translate table Click the drop down lsit button to display a list of valid values Prompting enlarges the list box to display valid values Max 300 rows returned Usually displays a description

Record Field Properties, Use Tab, Default Panel Control System Default Check Box Radio Button Drop Down ListCan also indicate the default value for the field.

Carolyn K. Filer Page 33 of 13404/07/23 8:02 PM

Page 34: Tools Notes

TOOL NOTES

Duplicate Order Key Application Designer, Record Field Properties, Use Tab

The following record definition changes require the creation of new indexes:7) Add, delete, or modify keys8) Duplicate order keys9) Alternate search keys10) Descending keys11) Or list box fields12) Change the order of keys (ascending vs. descending)

Dynamic Prompting Sometimes when you place a prompt table edit on a field, you might want the list of valid values to depend on the page’s data. When a user changes the data on page, he or she might also change the list of valid values.

When you want the prompt table edit on a field, to depend on the data entered on the page. When a user changes the data on a page, then the list of valid values will change accordingly.

When you place a prompt table edit on a field, you specify which record to prompt against, but not the field. PS prompts against the lowest-level key field on the prompt table (except EFFDT).

So for field that is to be dynamic, place a prompt table on it to a view. That view will will have that field as a lowest key search field on that record.

i.e.,Record 1 – Field Deptid ESTABID Prompt Dynamic View 1

Dynamic View 1 Field BU ESTABID Key, Search

Dynamic View To create a view within PS, you must create a record definition. There are three types of record definitions for views:4) SQL View – an SQL statement. 5) Query View6) Dynamic View

_DVW Identifies a dynamic view.

The only difference between the standard View and Dynamic View is that the Dynamic View is not defined as a view to the database—it is stored on the client and executed as a select at run time. Dynamic Views avoid some constraints on Views on some platforms.

Carolyn K. Filer Page 34 of 13404/07/23 8:02 PM

Page 35: Tools Notes

TOOL NOTES

Edit Effective dating – creates historical record of all changes made

Application Designer, Record Field Properties, Edits TabRequiredTable Edit Type1) No Edit2) Table Edit

a) Table Edit Type – Values can be validated in four ways:i) Prompt Table with No Editsii) Prompt Table Edit – a predefined set of valid valuesiii) Translate Table Edit – only one table per databaseiv) Yes/No Table Edit

b) Prompt Table - If you use a prompt table for validation, you must specify the particular table to use.

All Key fields on a table are edited (including effective date validation) Validations can be done against prompt tables or the translate table.

Edit Box(magnifying glass icon)

Edit Box Typically prompts against a prompt table Click the prompt button to display a list of valid values Prompting opens a separate list box to display valid values Max 300 rows returned Displays the code only

Drop-Down List Typically prompts against the Translate table Click the drop down lsit button to display a list of valid values Prompting enlarges the list box to display valid values Max 300 rows returned Usually displays a description

Fields should be editable on only one page within a Component (Panel Group).Edit Display View Shows all editing options (validation rules) .

(right click and select Record Field Properties, Edits Tab).

Required Fields (Must enter or have a default value): Key fields, check box and radio button fields.

All fields brought into the record definition of a View bring their Use and Edit characteristics with them from the base tables. These attributes should be check to make sure they are applicable to the view. If you don’t remove the defaults, you can get “ghost” rows on your data.

Edit View Mode – Record Definition

Edits Display view – shows all editing options (validation rules) (right click and select Record Field Properties, Edits Tab). Key fields, check box and radio button fields are required. Must enter or have a default value.d

Effective Dating Creates historical record of all changes made – effective date is less than the current data row.

Stores data for Future use – effective date is greater than the system date.

Carolyn K. Filer Page 35 of 13404/07/23 8:02 PM

Page 36: Tools Notes

TOOL NOTES

Current data – effective date of data row is the closest to, or equal to the sysstem date without being a future date.

Scroll area used to scroll through dated records. Controlled by effective date field.

Effective date and effective status controls whether a code is included in a list box.

Do not delete obsolete data – insert a new row of data with a new effective date, and effective status.

To create an effective dated table Include effective date field (EFFDT) as a descending key field on the

table Include the effective status field (EFF_STATUS) with values A

(Active) and I (Inactive) on the table.

Inserting a row into an effective-dated parent table copies all the associated child rows with the new effective date.

When you prompt for a valid value, only those rows with an effective date that is equal to or less than the effecive date on the parent table will be displayed in the list box.

No EFFDT – retrieves the first 300 rows EFFDT (Prompt Table), No EFFDT (parent table) – rows categorized

against the system date. Current rows retrieved EFFDT (prompt table), EFFDT (Parent table) – rows categorized by

EFFDT. Current rows retrived. No EFFDT (prompt table), EFFDT (parent table), all rows retrievable.

List box limited to first 300 rows.

Must be defined as A Key A descending Key Default value = %date (system date) Default Page control (field) = System Default

i) Date field – edit box with prompt buttonii) Translate table edit – Drop-down listiii) Prompt table edit – edit box with prompt buttoniv) Yes/No Edit – Check boxv) Long Character – long edit boxvi) None of the above – edit box

Possible Error Messages Warning. EFFDT field at level 0Confirm that the scroll bar appears immediately before all fields that it controls in the layout order.

Effective-dated pages need the following actions: Add, Update/Display, Update/Display All, Correction

Non Effective-dated pages need the following actions:

Carolyn K. Filer Page 36 of 13404/07/23 8:02 PM

Page 37: Tools Notes

TOOL NOTES

Add – add new search key values, update/display

Need the ADD Action on each page, if you need to be able to add search key values.

Effective Status Tracks whether or not the row of data represents a valid option as of the row’s effective date. Do not change the status of old rows of data. If a value becomes obsolete, insert a new row, with a new effective date, and select the ‘Inactive’ effective status.

Effective Status must be defined as: (no keys) Default Value: Constant = A Default Page control (field): System Default

vii) Date field – edit box with prompt buttonviii) Translate table edit – Drop-down listix) Prompt table edit – edit box with prompt buttonx) Yes/No Edit – Check boxxi) Long Character – long edit boxxii) None of the above – edit box

When you place a prompt table edit on a field, you specify which record to prompt against but not which field. The following rule is used to determine the latter:

PS prompts gainst the lowest-level key field on the prompt table. If that field is the EFFDT field, then you prompt on the key field that immediately precedes EFFDT in the record definition.

Entity Relationship Diagram

When customizing your PeopleSoft application, always keep performance tuning in mind. PeopleSoft application databases are designed using Evergreen's Easy CASE Entity Relationship diagramming tool.

You should consider using Easy CASE for generating your database ER diagrams, and tracking your changes. ER diagrams also document Primary and Foreign Key fields, which gives you the "big picture" when you start tuning SQL statements and database indexes.

Error Messages Warning. Field occurs more than once on the page.Radio buttons should be listed consecutively in the layout order

Invalid related display – not after control or related to field outside scroll.Confirm that the display control fields are listed before the related display fields in the layout order

Invalid On/Off check box valueConfirm that on/off values are assigned for yes/no edits in the Page field properties

Warning. EFFDT field at level 0Confirm that the scroll bar appears immediately before all fields that it controls in the layout order.

Error Statement Information about invalid data. Processing stops until the data is correced.

Carolyn K. Filer Page 37 of 13404/07/23 8:02 PM

Page 38: Tools Notes

TOOL NOTES

Evaluate Evaluate When = (unlimited when statements) When = Statement; (assumes the two when statements have an implied OR Break; (goes to End-Evaluate) When-other Statement;End-Evaluate

Event Sets Record Field Event Set1) FieldChange2) FieldDefault3) FieldEdit4) FieldFormula5) RowInit6) RowSelect7) RowInsert8) RowDelete9) PrePop-up10) SaveEdit11) SavePreChange12) Workflow13) SavePostChange14) SerachInit15) SearchSave

Component Record Field Event Set1) FieldChange2) FieldDefault3) FieldEdit4) PrePop-up

Component Search Records Event Sets3) SearchInit4) SearchSave

Component Non-Search Records Event Sets8) RowDelete9) RowInit10) RowInsert11) RowSelect12) SaveEdit13) SavePreChange14) SavePostChange

Prior to PS8, you had to associate PeopleCode with a panel group. This is no longer needed with PS8.

Component Event Set6) PreBuild

Carolyn K. Filer Page 38 of 13404/07/23 8:02 PM

Page 39: Tools Notes

TOOL NOTES

7) PostBuild8) SavePreChange9) WorkFlow10) SavePostChange

Field Action Events When you exit a box after making a change. Checks against edit tables, does formatting.

FieldEdit – happens when a field is changed. Used to validate the new value of a changed field. validates new values.

FieldChange – happens when a field is changed. Used to perform processing based on the new value of a changed field. Performed after a field has changed, edits have been passed. Used to perform additional processing based on the new valued of a changed field. Recalculates other fields, or display characteristics may need to change. Not used for validation.

Field Attributes Field Attributes/Characteristics (global)1. Data Type2. Field Name3. Long Name4. Short Name5. Field Length6. Various formatting values7. Translate values

(properties vary by Field Type)

Field Display Mode for Record Definitions

Field Display view – global attributes defined for fields (right click a field to view field definition, select View Definition)

Field Label The tab behind the Page Designer Tab. It displays the page fields in their field order. It shows the 1) Field Label,

Field Level Security Restricts user access to specific data fields. Implemented by assigning PeopleCode to the restricted fields of a data record or by placing restricted fields on Pages to which all users do not have access.

Field Properties Field Properties:File, Object Properties

Field Types Type of Fields1) Character Fields2) Numeric Fields

i) Signed Fields – allows display of negative numbersii) Number field with Signed option = Signed Number Field

3) DateTime Field to record date/time stamp to record events.4) Image Fields – store pictures

The tab behind the Page Designer Tab. It displays the page fields in their field order. It shows the 2) Type of field (ie., check box),

Carolyn K. Filer Page 39 of 13404/07/23 8:02 PM

Page 40: Tools Notes

TOOL NOTES

Fields Basic building blocks – columns on a table or in a view.

Field Attributes:3) Field attributes that are inherited from field definition and are global.

a) Field nameb) Typec) Lengthd) Formate) Long Namef) Short Nameg) Translate values

4) Record field attributes, which apply to the field’s function within a specific recorda) Use – identifies search keys, alternate search keys, list box item, field

audits, and defaultsb) Edits – prompt tables, required field, table editsc) PeopleCode

To Access Translate Values1. File, Object Properties2. Click the properties toolbar button (man with the hand)3. Right Click a field on a panel4. Right Click a field on a record and select View Translates (only

available on Character fields, with a length of 1-4).

To Update Translate Values5. Third tab of the Field Properties dialog box – used to add, change,

delete values.

Field Attributes:1) Field attributes that are inherited from field definition and are global.2) Record field attributes, which apply to the field’s function within a

specific recorda) Use – identifies search keys, alternate search keys, list box item, field

audits, and defaultsb) Edits – prompt tables, required field, table editsc) PeopleCode

Synchronizing of Record Definition with the Application Data table if the following are altered10) Add or delete a field on a record11) Modify the length of a field12) Change the required status of a field that is not a character or numeric

field.

Immediately after creating a field on the page designer, complete the Page Field Properties to link the page field to a table and field.

The default label for a Page control (field) is the long name of the record field. You can change it to the short name, make up your own text, or have no

Carolyn K. Filer Page 40 of 13404/07/23 8:02 PM

Page 41: Tools Notes

TOOL NOTES

label.

Allow users to enter data for a field in one location only to insure data integrity. Make use of this field on other records display only (or use display only views)

By placing a prompt table edit on a field, you force the user to enter a value from a predefined specified list. Sometimes, you want the user to only have a certain selection of the values. Rather than prompting against a physical application data table, you can specify a view as the prompt table, which only returns certain rows of data

Sometimes when you place a prompt table edit on a field, you might want the list of valid values to depend on the page’s data. When a user chages the data on page, he or she might also change the list of valid values.

When you place a prompt table edit on a field, you specify which record to prompt against but not which field. The following rule is used to determine the latter:

PS prompts gainst the lowest-level key field on the prompt table. If that field is the EFFDT field, then you prompt on the key field that immediately precedes EFFDT in the record definition.

Deleting FIELD Definitions1) Do NOT delete field definitions delivered with PS. Only delete those that

you create.2) Cannot delete field definitions used on a record definition (use Edit, Find

Object References).3) Use Fields, Referenced by PeopleCode Programs Cross-reference, or Edit,

Find in PeopleCode to identify programs referencing the field to be deleted.

4) Check Records and Pages Corss-reference report or Edit, Find Object References to identify page definitions referencing the field to be deleted.

5) Check SQRs to identify references to the field to be deleted6) Check COBOL programs and their stored statements to identify references

to the field to be deleted.7) You cannot delete a field if it is currently used on a record definition.8) Select File, Delete to delte the field from the database. 9) Create or Alter Table for impacted base tables or Create View for

impacted views.10) Modify impacted PeopleCode programs.11) Remove the deleted field form the impacted page definitions.12) Modify impacted SQRs13) Modify impacted COBOL porograms and their stored statements.

Rename a field1) Do not rename a field delivered. 2) Check the Records and Fields Cross-reference Report or slect the Edit,

Find Object References command to see if the new field name will be

Carolyn K. Filer Page 41 of 13404/07/23 8:02 PM

Page 42: Tools Notes

TOOL NOTES

appropriate on every record definition referencing the field. 3) Check SQRs to identify references to the field to be named.4) Check COBOL programs and their stored statements to identify references

to the field to be renamed.5) Select File, Rename in the Application Designer to rename the field and

update all PT objects with the new name. Remove th edeleted field from the SQL Select statement for views.

6) Create or Alter Table for iompaced base tables or create view for impacted views.

7) Modify impacted SQRs. 8) Modify impacted COBOL programs and their stored statements.

Fields are standalone definitions, on the same level as records, whose attributes (data type, size) are shared across all records that use the field.

Record Fields are owned by the record definitions that include fields. Properties of a record field, such as PeopleCode programs and key settings, are not shared among records. A change to a record field property affects only the record that owns the record field.

Component record fields – record fields used in a Component. They have their own independent event sets and PeopleCode programs.

A record is a table-level definition. Record Fields are child definitions, or attributes of records. Record Field PeopleCode programs are child definitions or attributes of

record fields. A record field can have zero or one PeopleCode Programs associated with

each type of record field event.

File Object A new PeopleCode object that is used to read and write from external files. Find Ctrl-F

Carolyn K. Filer Page 42 of 13404/07/23 8:02 PM

Page 43: Tools Notes

TOOL NOTES

Folder Tabs Component (Panel Group) Properites – Internet Tab1) Multi-Page Navigation

a) Display Folder Tab (top)b) Display Hyperlinks (bottom)

Component (Panel Group) Properties, Internet Tab, Multi-Page Navigation Display Folder Tab (top) Display Hyperlinks (bottom)

Go, PeopleTools, Application Designer, File, New, Component (Panel Group)Define Component (Panel Group) attributes

Define for each page. Enter the folder tab label. Each Folder Tab is a page within the Component (Panel Group)

Go, PeopleTools, Application Designer, File, New, Component (Panel Group).The grouping of pages and their associated labels on one Component (Panel Group). Creating Folder Tabs in the Component (Panel Group) with the related pages.

From Search Field Application Designer, Record Field Properties, Use TabFunctions Perform logic that is frequently required in many PeopleCode programs.

Internal-PeopleCode – common routines contained within the same program where they are stored. Defined by the FUNCTION statement.

External-PeopleCode – common routines contained in a different program from where they are used. These functions are defined by the DECLARE . . . PeopleCode statement in the programs where used.

External-Non-PeopleCode – Common routines written in C or another language and loaded from a DLL. They are defiend by the PeopleCode DECLARE . . . LIBRARY statement in the programs where they are used.

Ghost Rows All fields brought into the record definition of a View bring their Use and Edit characteristics with them from the base tables. These attributes should be check to make sure they are applicable to the view. If you don’t remove the defaults, you can get “ghost” rows on your data.

Global Variables Values that need to pass between components.GLOBAL Start with &

Grid Use a grid to display fields in a columnar format. Scroll Areas and Grids Used to insert additional rows of data into a table, to move through existing rows of data to delete rows of data. The scroll area and grid marks the fields it controls.

All fields at the same level must come from the same record definition unless they are related fields.

Grids control data in the same manner as scroll areas.

A grid is similary to a scroll region on a page. A grid can be nested within

Carolyn K. Filer Page 43 of 13404/07/23 8:02 PM

Page 44: Tools Notes

TOOL NOTES

the scroll area indicating a parent/child relationship between the underlying tables.

You cannot insert rows into a page that does not contain a scroll area or grid.

Double click on the grid to display the grid properties (General, Columns, Label, Use).1) Column attributes identify the fields that appear in the grid, and specify

their horizontal placement in the grid. Add new columns to a grid using the ADD button.

2) Label Attributes control the labels that display for the entire gird and for each column.

3) Use attributes control how the grid functions on the page.a) Display Options

i) Invisibleii) Display Onlyiii) Odd/Even Styleiv) Cell Focus selects rowv) Show Column when Cells Hiddenvi) Fixed Height (number of Rows)vii) Collapsible data area

A scroll bar controls the fields of the grid. Page controls (fields) in the grid write to a different table from the rest of the Page controls (fields) on the Page.

Double click a column field to display its Page Field Properties.

Right click on grid and select Page Properties from pop-up list.a) Panel Type

i) Standardii) Secondary Paneliii) Subpanel

Level 0 – Search Key Fields, and any field not controlled by a scroll area.Level 1 – use a scroll bar, not a grid. Can control only one record definition. All fields in that scroll area must be from the same record, unless they are related fields. All fields controlled by a scroll area assume the sames Occurs level as the scroll area. Can drag all Level 1 fields from record definition onto the page definition (except radio buttons, or related fields)Level 2-3 – the occurs level of any other scroll area depends on how its primary record definition relates to that of the existing scroll areas. If the data in the second scroll area does not depend on the data from the first scroll area, the second scroll area has an occurs level of 1. If the second record definition depends on data from the first scroll area, the second scroll area has an occurs level of 2.

In the Field Order of the page, the fields at level 0 must come first, followed by the scroll area for Level 1, then the fields at Level 1, followed by the scroll area for Level 2, and then the fields at Level 2. When using a grid, you place

Carolyn K. Filer Page 44 of 13404/07/23 8:02 PM

Page 45: Tools Notes

TOOL NOTES

the entire grid at a specified level. If you have multiple level 1s, 2s, or 3s they will immediately follow their parent’s occurs level.

To alter the Occurs Level on a grid, Right click on the grid Select Page Field Properties Click the General Tab

Any field not controlled by a scroll area or grid is at level zero.

An occurs level with a scroll area or grid cannot go further than occurs level three.

Each scroll area or grid uses the keys of the previous occurs levels to access its primary record.

Hidden Page PeopleTools, Application Designer, File, New, Component (Panel Group).Define Component (Panel Group) Attributes. I.e., Indicate if the page is hidden. Done for each page.

HTML – Hypertext Markup Language

Defines web page attributres as image, text displays, links to other pages, and so forth.

HTTP – Hypertext transfer Protocol

Brower-based communication mechanism on the internet.

Hyperlinks Component (Panel Group) Properites – Internet Tab1) Multi-Page Navigation

a) Display Folder Tab (top)b) Display Hyperlinks (bottom)

Hyperlinks or Push Buttons

Push buttons and hyperlinks appear different, but they share the same page control.

Versatile page controls. Used to launch internal URLs, external URLs, and PS secondary pages. PeopleCode can be used to hide certain push buttons and hyperlinks from

one group of users from running certain processes or accessing certain information.

Can be displayed in either Text Image

Insert a Push Button or Hyperlink onto a PageApplication Designer -> Insert -> PushButton/Hyperlink Enable when Page is Display only if you wish the push button/hyperlink to

be available to users who have display-only access to this page. Display-only access is granted via the Permission-List in Maintain Security.

Seelct Open in New Window, if you want the page displayed by the URL to open in a new window, as opposed to replacing the existing window.

Carolyn K. Filer Page 45 of 13404/07/23 8:02 PM

Page 46: Tools Notes

TOOL NOTES

To alter the push button or hyperlink styles, you can edit PS default style sheets.

PushButton/Hyperlink Page Field Properties2) Type Tab

a) Typei) Push Button or ii) Hyperlink

b) Destination (for push buttons or hyperlinks)i) External Link – launches a URLii) Internal Link – launches a PS pageiii) PeopleCode Command – Executes any FieldChange or Field Edit

PeopleCodeiv) Process – runs processes (if previously setup within the Process

Scheduler)v) Prompt Action – Display a prompt dialog for a specific control

field.vi) Scroll Action – bottom, top, insert row actions.vii) Secondary Page – displays a secondary pageviii) Toolbar Action – Display these actions: Save, Display next

page in Group, Correction.c) Record Named) Field Namee) Enable when Page is Display Only check boxf) Open in New window check boxg) Alignment

i) Leftii) Cetneriii) Right

h) Activityi) Action Typeii) Related Control

i) Secondary Pagej) External Link

i) Dynamicii) Static

(1) URL IDk) Internal Link

i) Menuii) Componentiii) Pageiv) Actionv) Use data from current page in search check box

l) Processi) Typeii) Name

3) Label Taba) Type

i) Text

Carolyn K. Filer Page 46 of 13404/07/23 8:02 PM

Page 47: Tools Notes

TOOL NOTES

ii) Imageb) Size

i) Small Imageii) Large Imageiii) Standard textiv) Custom

c) Label Texti) Typeii) Textiii) Label ID

Message Set/Numberd) Stylee) Alignment

i) Leftii) Centerediii) Right

f) Image Format/Sizei) Scaleii) Sizeiii) Widthiv) Heightv) Resetr to actual image size push button

g) Imagei) Image ID

Widthii) Height

h) On Mouse Overi) When Disabled

4) General Tab

Adding an External Link1) Add URL to URL Maintenance Utility2) Open the Trigger APAage and insert Hyperlink3) Select the Page Field Properites and set Attributes4) Test the page online

Adding an Internal Link1) Open the Trigger Page and Insert Hyperlink2) Select the Page Field Properties and set Attributes3) Add Static Text Page Control

a) Insert Menu, Static Text ‘label’4) Test the Page online.

Image labels: One that appears on mouse over One that appears when the push button or hyperlink is disabled

Carolyn K. Filer Page 47 of 13404/07/23 8:02 PM

Page 48: Tools Notes

TOOL NOTES

If If …… ThenElseEnd-if

Image Definitions Used to improve the look and feel of PS pages

Add a New Image Definition1) PeopleTools2) Application Designer3) File4) New5) Image

Image Definitions3) PS object4) Associated with a variety of page controls (field)5) Primarily for aesthetic purposes.6) Accessed through Application Designer7) Can be updated or altered as need.8) Formats

a) .BMPb) .DIBc) .JPG

9) Used to improve the aesthetics of PS pages10) Can be added11) Can be modified12) Can be managed13) Is part of upgrade

Can add a static image to a web page, by dropping a static image onto a page definition in the Page Designer.

PS uses static images for pushbuttons, to insure consistency.Image Fields Image Fields

1) Used to store application data that take the form of images.2) Are functionally no different from any other type of field.3) PIA does not support adding, updating image fields via the browser

interface. 4) Updated using batch processes, or PS Windows Client.

To create a new Image Field1) Define New Image Field – Application Designer -> New -> Image2) Set Field Attributes

2) Size – maximum # of kilobytes allowed for each image stored in that field.

3) Format – Media Cybernetics Halo Image Library formats. a) BMPb) CUT

Carolyn K. Filer Page 48 of 13404/07/23 8:02 PM

Page 49: Tools Notes

TOOL NOTES

c) DIBd) EPSe) JPG – Only one supported by PIA. f) PCXg) PCTh) RLEi) TGA

4) Labels – Short Name, Long Name5) Insert New Field onto the Record Definition

a) Open Recordb) Add new fields

i) Image Fieldii) PSIMAGEVER – keeps track of all image fields displayed online

(1) Each time an image value is updated the value of the PSIMAGEVER is also updated.

(2) PIA Java Servlet crosschecks PSIMAGEVER to make sure only those image versions not already cached on the web server are downloaded from the application server.

(3) Improves performance(4) Is not required – but is recommended.

6) Rebuild the Recorda) Build Options

i) Create Indexesii) Alter Tables will preserve the historical data already in the table.

b) Build Execute Optionsi) Build script file – only one active to guard against unwanted data

destruction. You cannot execute an alter function online. You must create an SQL script which can be run with Microsoft Query Analyzer.

c) Select Settings Push Buttoni) Alter Tab

(1) Drop Column Options(a) Skip record if data present

(2) Change Column Length Options(a) Skip record if field too short.

(3) Alter Any(a) Adds(b) Changes(c) Renames(d) Deletes

(4) Alter Table Options(a) Alter in place

d) Select Build Push Button7) Launch SQL editor called Microsoft Query Analyzer

a) Open PSBUILD.SQLb) Executec) Verify that data still exists in the table & verify that new field exists

i) Select * from RECORD8) Add image field and PSIMAGEVER field to the Page Definition

Carolyn K. Filer Page 49 of 13404/07/23 8:02 PM

Page 50: Tools Notes

TOOL NOTES

a) Open page definitioni) Application Designer

b) Insert image i) Insert menuii) Select Image

c) Rearrange Fieldsd) Double Click the image page control (field)

i) Panel Field Properties(1) Record Tab

(a) Adjust image size to proper size(2) General Tab

(a) Make PSIMAGEVER at same level as the image field(3) Use Tab

(a) Make PSIMAGEVER invisible.9) Test

To add a new image within an Image Field1) Navigate to the page, using Windows Client (PIA will only display

images)2) Right click on the image field3) Select Insert Image from popup menu4) Naviage to the image, select file (i.e, .JPEG Files - *.JPG)5) Save6) Verify that you can see the image via the browser interface.

Database Server - Purely a database. It now stores page and supplies image and URL repositories. Would also store query definitions.

Images Used to store pictures. Are a data type

Examples1) Navigational buttons, 2) Corporate logos3) Pictures of employees4) Pictures of products5) Pictures of documents6) Banks need to keep pictures of cancelled checks.

Carolyn K. Filer Page 50 of 13404/07/23 8:02 PM

Page 51: Tools Notes

TOOL NOTES

Indexes Increase the speed and efficiency of data retrieval.

Indexes automatically generated when you initially build an application data table:1) Key or Duplicate Order Key (PS_Recname, i.e., PS_Vehicle_Tbl)2) Alternate Search Key (PsnRecname, i.e., PS0Vehicle_Tbl)3) Any field specified in a custom index definition (PsxRecname, i.e.,

PSAVehicle_Tbl)

Create Indexes if the following changes are made:1) Use:

a) New Keyb) Alternate Search Keyc) Key Direction (Asc/Desc)d) Duplicate Order Key

SQL view record definitions must be created on the database server using build, Current Object in Application Designer. Because views don’t store data, you can’t lose any physical data by dropping and recreating a view. Do not select the Create Indexes option. Views do not generate their own indexes, they use the indexes of the physical tables referenced in the view. Will add the PS_prefix to the table name, unless you entered a non-standard SQL Table Name.

Indexes – Alter Create Indexes if the following changes are made:2) Use:

a) New Keyb) Alternate Search Keyc) Key Direction (Asc/Desc)d) Duplicate Order Key

Insert Row Retrieves no data Inserts new High_level Key Updates nothing

Inserting a row on an effective dated table, causes the contents of the current row to be copied to the new one.

Inserting a row into an effective-dated parent table copies all the associated child rows with the new effective date.

Carolyn K. Filer Page 51 of 13404/07/23 8:02 PM

Page 52: Tools Notes

TOOL NOTES

Integration Tools Integration Tools describes the various ways in which you can link PeopleSoft applications and third-party applications together. It provides a reference manual for the application programming interfaces (APIs) that PeopleSoft makes available.From PS to External – Outbound4) Internet Real Time

a) Business Interlink5) Internet Near real-time

a) Application Messaging6) Traditional Deferred

a) Application Engine

From External systems to PS – Inbound4. Component Interface5. Application Messaging6. App Engine and file Object

Open Integration Tools allows PS to seamlessly integrate their own legacy or other systems with PS, as well as with other pS applications.

Internal Link Can launch a secondary browser that will automatically access additional data.Internet Access No client software installation required. Internet Security Controls user access to hardware and software resources

Assigned Ids and passwords Authorized signon times File access rights

No PS executables on the PS Internet Access (nvision or Crystal)Joins In order for joins to work efficiently and usefully, you must join the keys the

tables have in common.

Using views to provide additional search criteria requires joining two or more tables.You must join tables through fields with common data. You can join tables on any fields that have common data. A prompt table edit, or a parent-child relationship will ensure that these fields contain common data.

Can assign an alias name to the names of tables to save typing. Technically, a column name only needs to be qualified if it appears on both tables.

Jolt The PeopleSoft servlets on the web server transmit requests and data by way of a connection to Jolt, which runs on the application server. Jolt extends Tuxedo's capabilities to the Internet; it is the communication layer between the web-based environment and the C++ environments. You configure the servlets to direct requests from the web server to a pre-defined Jolt port on the application server.Jolt is a companion product that must coexist with Tuxedo on the same application server machine. Jolt is not a standalone product; it can’t function without Tuxedo.

Carolyn K. Filer Page 52 of 13404/07/23 8:02 PM

Page 53: Tools Notes

TOOL NOTES

Key Fields Should be the first fields in a record ?? Uniquely identify each row of data on a relational database table. Are not editable. Indexes are automatically built against the key fields when you build a

table based on a new record definition. All Key fields on a table are edited (including effective date validation)

The following record definition changes require the creation of new indexes:13) Add, delete, or modify keys14) Duplicate order keys15) Alternate search keys16) Descending keys17) Or list box fields18) Change the order of keys (ascending vs. descending)

Types of Keys Key Duplicate Order Key Alternate Search Key Descending Key Search Key

Application Designer, Record Field Properties, Use Tab

Key Fields should prompted from the record where the field first appears. Place the parents’ scroll keys on the child page and make them display-only.

Point the key fields to the record in which the fields first appear.

Parent/child tables are defiend solely by the key structure of the records.

The easiest way to create a child table is to close the parent record, delete all fields, but the keys, add all required fields for the child table, and designate at least one of these new fields as an additional key.

You must specify a key structure for a view. This is needed to retrieve the correct data. The key structure should uniquely identify a row of data. A view needs a key structure, even if it is not a physical table.

In order for joins to work efficiently and usefully, you must join the keys the tables have in common.

When you place a prompt table edit on a field, you specify which record to prompt against but not which field. The following rule is used to determine the latter:

PS prompts against the lowest-level key field on the prompt table. If that field is the EFFDT field, then you prompt on the key fiekd that immediately precedes EFFDT in the record definition.

Carolyn K. Filer Page 53 of 13404/07/23 8:02 PM

Page 54: Tools Notes

TOOL NOTES

Labels Go, PeopleTools, Application Designer, File, New, Component (Panel Group).The grouping of pages and their associated labels on one Component (Panel Group). Creates Folder Tabs in the Component (Panel Group) with the related pages.

The Component (Panel Group) definition associates the system name of each page with a displayed label.

Levels Assigned on the Page Field Properties.

???? Indicates which scroll bar this field is assigned to?

File, Open, Component (Panel Group)

Shows the Pages as you wish them to be displayed on the menu. Also displays the Scroll Levels, records, and scrolls in a tree presentation. A green asterisk appears beside any required fields.

The search record must contain all of the level-zero search key fields on the page. The associated Application Data table is used to populate level 0.

The search record for a dialog box is usually the record for the table being accessed. The goal is to search against the table that is the source of the level-zero search key(s)

Level 0 – Search Key Fields, and any field not controlled by a scroll area.Level 1 – use a scroll bar, not a grid. Can control only one record definition. All fields in that scroll area must be from the same record, unless they are related fields. All fields controlled by a scroll area assume the sames Occurs level as the scroll area. Can drag all Level 1 fields from record definition onto the page definition (except radio buttons, or related fields)Level 2-3 – the occurs level of any other scroll area depends on how its primary record definition relates to that of the existing scroll areas. If the data in the second scroll area does not depend on the data from the first scroll area, the second scroll area has an occurs level of 1. If the second record definition depends on data from the frist scroll area, the second scroll area has an occurs level of 2.

Four scoll area are allowed (Level 0, 1, 2, 3).

Page - Tabs: Page Designer Order

a) Assigns the level for each field, and scroll area.

Verify that parent scroll area controls only those fields form the parent record definition, and the child scroll area controls only those fields from the child record definition.

Carolyn K. Filer Page 54 of 13404/07/23 8:02 PM

Page 55: Tools Notes

TOOL NOTES

In the Field Order of the page, the fields at level 0 must come first, followed by the scroll area for Level 1, then the fields at Level 1, followed by the scroll area for Level 2, and then the fields at Level 2. When using a grid, you place the entire grid at a specified level. If you have multiple level 1s, 2s, or 3s they will immediately follow their parent’s occurs level.

How Buffer is loaded:Once you select a search key, all the application data needed for the Component (Panel Group) is retrieved from the database. The buffers on the client workstation are allocated and populated in a very precise manner. The Application Processor uses occurs levels in the Component (Panel Group), and the order that pages reference record definitions11) Fills buffers for all Level 0 record definitions in the tab order on the page

definition.12) It fills the first row of data for each record definition at Occurs Level 1 (if

it exitsts).13) Looks for data subordinate to Occurs Level 1.14) Retrieves all rows at the Occurs Level 2 (if it exists).15) Retrieves all rows at the Occurs Level 3 (if it exists).

Only one row of data can exist at Level 0

The application processor does not allocate a row of data for the Level 0 record definition unless there is at least one field present on the page that is not in the dialog box. If all the Component (Panel Group) Level 0 fields are in the dialog box, the Application Proccesor retrieves these values from the key list that is stored in memory on the client workstation.

There are only two cases when the Application Process does not allocate an entire row of data during buffer allocations.5) Level 0 Record – It does not retrieve any data other than the search keys or

alternate search keys. If you reference a non-search or alternate search key field at Level 0, then the entire row is returned.

6) Related Display Records – Related fields point to a different record than the primary record behind a scrollable area. It retrieves only that field and not the entire row. If a PeopleCode porgram on the primary record behind that page references a field on the related field’s record, that field is also returned.

Any field not controlled by a scroll area or grid is at level zero.

An occurs level with a scroll area or grid cannot go further than occurs level three.

It is a standard for Level 0 to always point to a physical SQL table (not a view)

Search records control two important aspects of how applications function:1) Control which values you can enter to access an application2) Control which fields appear in the search dialog box.

Carolyn K. Filer Page 55 of 13404/07/23 8:02 PM

Page 56: Tools Notes

TOOL NOTES

Determining factors when chosing search keys:1) Which table or view should the application use to look for the search key2) Which fields should be in the search dialog box3) Which base table will populate Level 0.

Carolyn K. Filer Page 56 of 13404/07/23 8:02 PM

Page 57: Tools Notes

TOOL NOTES

List Box Viewed when you use a search dialog box. When you prompt for a valid value, only those rows with an effective date

that is equal to or less than the effecive date on the parent table will be displayed in the list box. (current and future)

List box is created based on search keys and list box items, and effective date and effective status fields.

No EFFDT – retrieves the first 300 rows EFFDT (Prompt Table), No EFFDT (parent table) – rows categorized

against the system date. Current rows retrieved EFFDT (prompt table), EFFDT (Parent table) – rows categorized by

EFFDT. Current rows retrived. No EFFDT (prompt table), EFFDT (parent table), all rows retrievable.

List box limited to first 300 rows.

Recommended for use with Translate values.

List Box defines fields used in list box.

The following record definition changes require the creation of new indexes:19) List box fields

Application Designer, Record Field Properties, Use TabList Box check box indicates this field is a list box

The following record definition changes require the creation of new indexes:20) Add, delete, or modify keys21) Duplicate order keys22) Alternate search keys23) Descending keys24) Or list box fields25) Change the order of keys (ascending vs. descending)

You should only specify search keys, alternarte search keys, and list box items if you plan to build a search dialog box based from the view (i.e, you are going to prompt against the view, or use the view as a search record.)

Within a View, only specify search keys, alternate search keys, and lists box items if a search dialog box is going to be built within it.

In a view, use related display, or drop-down lists box field if you reference a long or short description from the Translate table. This table is cached to a local drive. Performance is better because it can access the data from cache rather than the database.

A view used as a search record (_SRCH), should have a dialog search box that looks the same as the original base record. Each should have the same search keys, alternate search keys and list box items in the same order. The order of alternate search keys within the search dialog box will be th same as their order on the record definition.

Carolyn K. Filer Page 57 of 13404/07/23 8:02 PM

Page 58: Tools Notes

TOOL NOTES

Local Variables Exists for the duration of the current PeopleCode Program. Start with & (18 characters).

Logon to PS8 http://pleubxnn/peoplesoft8/signon.htmlLong Description In a view, use related display, or drop-down lists box field if you reference a

long or short description from the Translate table. This table is cached to a local drive. Performance is better because it can access the data from cache rather than the database.

Manually Insert Objects into an open project

Default on the Tools, Option, Project Tab which defines how and when objects are to be added to the project.

If object definition is active: Select Insert, Current Object into Project

Insert, Objects into Project to choose from a list of objects to insert.

Carolyn K. Filer Page 58 of 13404/07/23 8:02 PM

Page 59: Tools Notes

TOOL NOTES

Menu Definition Go, PeopleTools, Application Designer, File, New, Menu

Bar Items File Edit View Go Favorites Use Use LCI Setup Setup LCI Process Prc_LCL Inquire Report Report LCL Blank Language Help

Bar Item Properties (Double-click one of the above bar labels to view the bar item properties.)

Name Label

Menu Item Properties (Double-click a menu item to view its properties.) Type – Component (Panel Group), separator, peoplecode Component (Panel Group) info (i.e., search record) Override search record

Menu Properties Define the path the user follows to access the menu. Menus are accessed

through a menu group

Controls are as follows: Menu Properties define menu groups, and menus assigned to them. Bar Item Properties define the Bar Name and label. Bar Items are the

menus across the top of the page for each menu group. To add a menu to a Bar Item, drag the Component (Panel Group) to the

bottom of the Bar Item for the menu group. Menu Item Properties defines the menu and the Component (Panel

Group)s assigned to them

Carolyn K. Filer Page 59 of 13404/07/23 8:02 PM

Page 60: Tools Notes

TOOL NOTES

Menu Groups Go, PeopleTools, Application Designer, File, New, MenuSet Menu Properties

Select File, Object Properites, enter documentation on the General Tab. Select the menu label menu group, and the online ordering of the menu label and menu group on the Use Tab.

Menu PropertiesDefine the path the user follows to access the menu. Menus are accessed through a menu group

Menu Item PeopleCode Events

ItemSelected*1

Menu Items Go, PeopleTools, Application Designer, File, New, Menu Add Menu Items

Double-click the dotted rectangle in the bar list and complete the Menu Item Properties dialog box.

Menu Item Properties (Double-click a menu item to view its properties.) Type – Component (Panel Group), separator, peoplecode Component (Panel Group) info (i.e., search record) Override search record

Menu Security Types of security PeopleSoft Internet Architecture Web Server/Application Server Database PeopleSoft Application

Security configured outside of PeopleSoft Internet Browser Web Server/Application Server DBMS security

In order to view Menus / Component (Panel Group)s, there are three areas of security Permission Lists (Class) Roles User Ids

Security setup: User Profile -> Role -> Permission Slips (Class)Menus Menu Definitions create the path to a Component (Panel Group).

Component (Panel Group)s are added to menus, not pages.

Combines with the Component (Panel Group) definition to create a pathway to your page. The structure that a user follows to access pages.

Go, PeopleTools, Application Designer, File, New, Component (Panel Group)Define Component (Panel Group) attributes

Define for each page. Enter the Component (Panel Group) cascading menu item label

Carolyn K. Filer Page 60 of 13404/07/23 8:02 PM

Page 61: Tools Notes

TOOL NOTES

To add a new Component (Panel Group) to a Menu1) Open Application Designer

Go, PeopleTools, Application Designer2) Create a new menu object, select an exisiting menu

File, New or File, Open3) Add bars to the menu (optional)

Double-click the dotted rectangle in the menu bar. Complete the Bar Item Properties Dialog Box

4) Add Menu ItemsDouble-click the dotted rectangle in the bar list and complete the Menu Item Properties dialog box.

5) Set Menu PropertiesSelect File, Object Properties, enter documentation on the General Tab. Select the menu label menu group, and the online ordering of the menu label and menu group on the Use Tab.Every menu is attached to a menu group.

6) Name and Save the Menu DefinitionSelect File, Save

In order to view Menus / Component (Panel Group)s, there are three areas of security Permission Lists (Class) Roles User Ids

Add menu to a Permission List (Class) to make accessible for security Go PeopleTools Maintain Security Use Permission Lists (Class) – Add Menu Add

The search record is a binding and necesssry property of the Component (Panel Group) definition and makes the Component (Panel Group) a standalone and consistently reusuable object. This allows a Component (Panel Group) to appear to multiple menus through the application.

Security may be one reason to include a Component (Panel Group) on more than one menu.

When you insert a Component (Panel Group) into a menu, the search record defaults from the Component (Panel Group) definition. The Search Record Override feature on the Menu Item Properties dialog box allows you to reuse a Component (Panel Group) but specify different search criteria by using a different search record.

Carolyn K. Filer Page 61 of 13404/07/23 8:02 PM

Page 62: Tools Notes

TOOL NOTES

Metadata Repository The definition of all application objects are saved in the PS Tools Metadata Repository.

At execution time, the most recent definition is retrieved. It compiles and caches in memory the definition and executes the rules based on the definition.

Meta-SQL Meta-SQL functions are used within SQL strings where they expand to platform-specific SQL substrings.

They are used in functions that pass SQL strings, that is, SQLExec and the scroll buffer functions (ScrollSelect and its relatives), they are used in Application Designer to construct dynamic views, and they are used in Application Engine.

Methods Represents what an object does.Object.method()

Microsoft SQL Server Use Query AnalyzerLogon Name: sa (case sensitive)Password: sa (case sensitive)Commands (case sensitive)Object Names (Uppercase)

View system catalog information:sp_help PS_VEHICLE_TBL

Multi_Page Navigation

Component (Panel Group) Properites – Internet Tab2) Multi-Page Navigation

c) Display Folder Tab (top)d) Display Hyperlinks (bottom)

Naming Convensions PS Tools table names begin with PS (no underscore).Application Data Table Name (add PS_ prefix)

If the view is to be used as a search record it’s name should be suffixed with _SRCH. Otherwise it should end with _VW.

Navigation tools Categories (menu groups) Navigation trail My favorites

Navigation Trail A trail of the navigation choices made.Next in List Set on the Component (Panel Group) Properties, Internet Tab, Toolbar,

Selected Toobar Activities.

Next Page in Component (Panel Group)

Set on the Component (Panel Group) Properties, Internet Tab, Toolbar, Selected Toobar Activities.

Carolyn K. Filer Page 62 of 13404/07/23 8:02 PM

Page 63: Tools Notes

TOOL NOTES

Nine Steps of Application Design

Nine Steps9. Design the Application

Project within the Design Application10. Define New Fields (PeopleTool Tables – Field Definition)11. Create the Record Definition (PeopleTool Tables – record definition)12. Build the SQL Table (System Catalog and Application Data Tables –

build function)13. Create the Page Definition (PeopleTool Tables – page definition)14. Define the Component (Panel Group) (PeopleTools Table –

Component (Panel Group) definition)15. Create the Menu Definition (PeopleTools tables – menu definition)

From other sources:16. Enable Security (PeopleTools tables – Maintain security)17. Test the Application (Query)

Normalize Database Delete duplicate dataFile data efficientlyBreak data down in to separate, related tablesEfficient maintenance, storage, and retrieval of data.

NOT NULL fields Insert values for NOT NULL Fieldsa) Record Definition Parameter

i) Numeric field(s)ii) Character field(s)iii) Non-character and non-numeric required field(s)

b) Used on Application Data Tablevii) Value = zeroviii) Value = blank spaceix) Value = default from record definition

Nvision Start PS/nVision from PeopleTools or from a PeopleSoft application by selecting Go, PeopleTools, nVision. Or, you can start PS/nVision directly from Microsoft Windows by double-clicking the PS/nVision shortcut.

Only run on the Windows NT Operating SystemObject Represents a unique, run-time instance of a data structure as defined by its

class.

Carolyn K. Filer Page 63 of 13404/07/23 8:02 PM

Page 64: Tools Notes

TOOL NOTES

Object Definitions Open all objects: 1. Select File, Open, 2. select object type from a drop-down list3. Provide selection criteria.4. Select the project to open.

To View:Within the object definition, select the element you wish to view,1. Choose View, View definition2. Right click on the element, and select Viedw Definition from pop-up

menu.

To Close:1. File, Close2. Window, Close all

Object Inspector Select Application Designer, View, Show Object InspectorUsed to position Page controls (fields) precisely.

Object Properties Field Properties: File, Object Properties

Object References Select File, Find Object References. Will show all objects on which this object is used.

Results will be displayed in the Output Window. Object Related Data Records, pages, and menus

Names begin with PS (no underscore).Object Types Application Designer – File – New –Project - Insert – Object into Project -

Records

Object Type - Related Objects1) Record – Fields, Indexes, Record PeopleCode, SubRecords, and Translate

Values2) Page – Subpages, Secondary Pages, Images, Page PeopleCode3) Component (Panel Group) – Pages, Component PeopleCode, Component

Record PeopleCode, and Component Record Field PeopleCode.4) Menu – Menu Peoplecode, and Components

Select all related objects and click Insert.Objects All objects contained within a project are displayed in folders in the Project

Workspace.

To open an object in the project workspace, double-click on its icon, or use File, Open.

Objects inserted in the Project Workspace do not beocme a part of the project definition until the project is saved.

Automatic insertions of objects into projects is set in the Options dialog box.Objects Objects are Instantiated – created from their class.

Carolyn K. Filer Page 64 of 13404/07/23 8:02 PM

Page 65: Tools Notes

TOOL NOTES

Occurs Levels Four scoll area are allowed (Level 0, 1, 2, 3).

In the Field Order of the page, the fields at level 0 must come first, followed by the scroll area for Level 1, then the fields at Level 1, followed by the scroll area for Level 2, and then the fields at Level 2. When using a grid, you place the entire grid at a specified level. If you have multiple level 1s, 2s, or 3s they will immediately follow their parent’s occurs level.

The occurs level of a child scroll area or grid should be one number higher than the parent scroll area.

Level 2-3 – the occurs level of any other scroll area depends on how its primary record definition relates to that of the existing scroll areas. If the data in the second scroll area does not depend on the data from the first scroll area, the second scroll area has an occurs level of 1. If the second record definition depends on data from the frist scroll area, the second scroll area has an occurs level of 2.

2 scrollable area that sit on the same occurs level, dependent to the same higher level, are referred to as siblings.

If another record refinition is dependent on the Occurs Level 2 record definition, its scroll area has an occurs level of 3. There are no restrictions on how many scroll areas can be created at each occurs level, only the number of occurs levels. Can only have 3 occurs area.

To alter a Occurs Level of a Scroll Area: Right click on the scroll area Select Page Field Properties Click General tab.

To alter the Occurs Level on a grid, Right click on the grid Select Page Field Properties Click the General Tab

The default Occurs Level is always 1. You must change the Occurs Level if you want something other than 1.

How Buffer is loaded:Once you select a search key, all the application data needed for the Component (Panel Group) is retrieved from the database. The buffers on the client workstation are allocated and populated in a very precise manner. The Application Processor uses occurs levels in the Component (Panel Group), and the order that pages reference record definitions1) Fills buffers for all Level 0 record definitions in the tab order on the page

definition.2) It fills the first row of data for each record definition at Occurs Level 1 (if

it exitsts).

Carolyn K. Filer Page 65 of 13404/07/23 8:02 PM

Page 66: Tools Notes

TOOL NOTES

3) Looks for data subordinate to Occurs Level 1.4) Retrieves all rows at the Occurs Level 2 (if it exists).5) Retrieves all rows at the Occurs Level 3 (if it exists).

Only one row of data can exist at Level 0

Occurs levels are used to match a hierarchical table relationship to a given page’s record structure.

On a page definition, the occurs level number of a child is one greater than the occurs level number of its parent.

Each scroll area or grid uses the keys of the previous occurs levels to access its primary record.

OffLine Functions of Views

Uses for other functions1) Reporting2) COBOL programs (batch processing)

On/Off Value - Check Box

On the Application Designer, Page Definition you must designate two values (one for on and and one for off). The selected On Value or Off Value is written to the Application Data table when the check box is checked.

Possible Error Messages Invalid On/Off check box valueConfirm that on/off values are assigned for yes/no edits in the Page field properties

OnLine Functions of Views

Uses views for online functions:1) Summary pages2) Search records3) Prompting

Operarting System Windows NT is the only operating system that can run Crystal Nvision

Operator ID In order to view Menus / Component (Panel Group)s, there are three areas of security Permission Lists (Class) Roles User Ids

Security setup: User Profile -> Role -> Permission Slips (Class)

Operator Attributes Password Languare Menus Signon Business process Process profile

Carolyn K. Filer Page 66 of 13404/07/23 8:02 PM

Page 67: Tools Notes

TOOL NOTES

Options - Projects Options applied to all projects opened from that workstation Tools, Options Project Tab – used to define how and when objects are to be added to the

project, and how the project is to be displayed in the Project pane.

Project Properties Use File, Project Properties to display the properties for an open project

Order Keys The parent record cannot have any duplicate order keys.

Duplicate Order Keys are not allowed on a parent record.Order Tab The tab behind the Page Designer Tab. It displays the page fields in their

field. It shows the 3) Field Label, 4) Type of field (ie., check box), 5) Field Name6) Record Name7) Display Control8) Related Field9) Control Field10) Page Field No.

Label the scroll areas so you can see which scroll area you’re referring to on the Order Tab. You specify the label in the scroll area’s page field properties.

Ordering Rules For accurate Page execution Place scroll areas before any of the page controls (fields) the scroll area

controls Position each display control field before the related display it controls. Group together all radio buttons pertaining to the same field.

Key fields on a Query View need to be at the top of the record definition. The selection order within Query will match the order on the record definition.

Page Page PeopleCode is associated with a Page Definition. Pages have only the Activate event (Standard or Secondary only, not subpages)

This eliminates the need to write page-specific, record-level RowInit code.

Carolyn K. Filer Page 67 of 13404/07/23 8:02 PM

Page 68: Tools Notes

TOOL NOTES

Page Go, PeopleTools, Application Designer, File, New, Component (Panel Group)

Define Component (Panel Group) attributes for each page Hidden Page or not Component (Panel Group) cascading menu item label Enter the folder tab label. Each Fold Tab is a page within the Component (Panel Group)

You cannot insert rows into a page that does not contain a scroll area or grid.

Go, PeopleTools, Application Designer, File, New, Component (Panel Group).The grouping of pages and their associated labels on one Component (Panel Group). Creating Folder Tabs in the Component (Panel Group) with the related pages.

The Component (Panel Group) definition associates the system name of each page with a displayed label.

The properties assigned to a Component (Panel Group) apply to all pages in the Component (Panel Group).

To make page accessible for security Open Permission Lists (class) Select edit pages check box for the Menu desired Select authorized or display only check box Check activities allowed: Add, Update/Display, Update/Display All,

Correction

Page - Tabs: Page Designer Order

b) Assigns the level for each field, and scroll area.

Verify that parent scroll area controls only those fields from the parent record definition, and the child scroll area controls only those fields from the child record definition.

Properties are defined in the Component (Panel Group). Actions are part of the properties for each Component (Panel Group). Thus, separate pages within the Component (Panel Group) will also have the same actions.

All pages within one Component (Panel Group) must share one search record and all actions.

Since Search records are specified at the Component (Panel Group) level, every page in that Component (Panel Group) must contain the same high-level search key.

Carolyn K. Filer Page 68 of 13404/07/23 8:02 PM

Page 69: Tools Notes

TOOL NOTES

Page controls(Field)

Add Page controls (Fields) to a Page1) Static Text2) Group Box3) Edit Box4) Long Edit Box5) Radio Button Scrol Bar6) Scroll Bar7) Push Button/Hyperlink8) Tree9) Horizontal Rule10) Scroll Area11) Microsfot Image List Active X12) SQA Object Testing ActiveX13) Frame14) Static Image15) Drop Down List16) Check Box17) Image18) SubPage19) Secondary Page20) Grid21) HTML Area22) Microsoft Chart ActiveX23) Microsoft TreeView ActiveX

The default label for a Page control (field) is the long name of the record field. You can change it to the short name, make up your own text, or have no label.

Page Designer File, New, PageAnother tab is also shown called ‘ORDER’

Graphical interface between your application database and your users.Allows users to view, add, and edit data.Application Designer, page definition mode allows you to create custom internet-ready pages.

Add Page controls (field) (the type of field) to a Page

Create a Page Definition Open Application Designer (Go, PeopleToosl, Application Designer) Create a new Page object (File, New) Add fields to the Page definition (Insert) Define Page field attributes (double-click each field) Set Page properties (File, Object Properties) Name and save the Page Definition (File, Save)

Page Field Attributes Double-click the field on the page designer, complete the Record Tab, Field Group Box with the Record and Field that is the source for this field.

Carolyn K. Filer Page 69 of 13404/07/23 8:02 PM

Page 70: Tools Notes

TOOL NOTES

Page Field No The tab behind the Page Designer Tab. It displays the page fields in their field. It shows the Page Field No

Page Field Properties Right Click on any new page control (field) on a page (panel).

Page Field Properties – General

Occurs LevelOccurs CountPage Field Name

To alter the Occurrs Level of a Scroll Area: Right click on the scroll area Select Page Field Properties Click General tab.

To alter the Occurs Level on a grid, Right click on the grid Select Page Field Properties Click the General Tab

Page Field Properties – Label

Control the display of element labels on the Page and on Page definition printouts. RFT short and RFT Long labels facilitate globaliztion. Frames, scroll bars, and other Page controls (fields) that do not display a label on the page should still be given a label.

Label the scroll areas so you can see which scroll area you’re referring to on the Order Tab. You specify the label in the scroll area’s page field properties.

Divided into three sections: Header Area Body Area Footer Area

Carolyn K. Filer Page 70 of 13404/07/23 8:02 PM

Page 71: Tools Notes

TOOL NOTES

Page Field Properties – Record

The source for the field – record, field name.Default values assigned, and Field Values defined for On, Off

1) Fielda) Record Nameb) Field Name

2) Size – Image Format/Size3) Alignment4) Display Options

a) Display Zerob) Passwordc) Show Prompt Buttond) Auto Fille) Display Centuryf) Currency Symbolg) 1000 Separatorh) Auto Decimal

5) Fill Character

Page Field Properties - Use

Use attributes control how an element functions on a page.

Divided into three sections1) Field Use

a) Display Onlyb) Invisiblec) Multi-Currency Fieldd) Related Display Field - When you select the related display field, you

must also then select the desired Related Control Field list. 2) Related Control Field3) Popup Menu

Page PeopleCode Events

Activate

Page Properties Select File, Object ProeprtisClick the Properties toolbar icon General tabs Use tabs

Carolyn K. Filer Page 71 of 13404/07/23 8:02 PM

Page 72: Tools Notes

TOOL NOTES

Page Startup Events Before displaying a component to an user, seven PeopleCode events are involked:RowSelect – Occurs as the component Processor reads rows of dadta. Filter out rows of data from the component. Can prevent the Compnent Processor from loading a specific row of data into the component. Can stop it from reading any additional rows of data inot the component. Usually filter out rows of data using views.

PreBuild – Happens just once, before Component Processor begins to build the page to display for the user. Used to PreBuild to hide/unhide pages and to set component variables. Fires once before the rest of the component build events. Used to hide or unhide pages. Used to set global or component scope variables that can be used later by PeopleCode located in other events. If an error or warning is issued, the user is returned to the search page.

FieldDefault – happens when a field has no value. Used to assign default values to fields. After the component is filled, it attempts to set defauls for fields without a value. FieldDEfault performs only when the field to which it is attached has no value. Once the fieldhas a vlue, it is ignored. Must be attached to the correct field.

FieldFormula – fires unconditionally and frequently. always processes.

RowInit – Happens each time Component Processor encounters a new row of data. Used to initialize rows of existing data and newly inserted rows of data. Used to control the initial appearance of fields. Performed the first time the Component Processor encounters a row of data. Occurs for every new row of data brought into the component after the buffer allocation process. Also occurs when a user performs a Row Insert. RowInit is not performed after a user changes a field, performs a save, or initiates a row delete.

PostBuild – Happens just once, after the Component Processor builds the page but before the page is displayed for the user. Used to hide/unhide pages and to set component variables. Used to calculate values and set display characteristics of an object. Only placed on a Component.

Activate – Happens each time the user seleects a page. Only event in the page Event set. Fired when the page is activated. Segregates PeopleCode related to a specific page from the rest of the application’s PeopleCode. PeopleCode related to page display or page processing, such as enabling a field or hiding a scroll, is best put in this event. Can be used for security validation. Can also be used for initializing the grid labels.

After a user completes an action, the Component Processor displays the page incorporating whatever the user changed. As part of displaying the page again, the following is performed:

FieldDefaultFieldFormulaRowInitPeopleCode if appropriate.

Carolyn K. Filer Page 72 of 13404/07/23 8:02 PM

Page 73: Tools Notes

TOOL NOTES

Parent/Child Tables A child table must have all the key fields of the parent table in the same order plus at least one additional key field.

A scroll area within a scroll area on a page indicates a parent/child relationship. The outer scroll area is the parent, and the inner one is the child.

Rows of data at the child level depend on the key structure of the parent level, and must contain all the keys of the parent record definition. (Close parent record, and then delete all non-key fields. This insures that the fields are in the same order as the parent record, use characteristics of the keys are carried forward.) Each child record must have one additional key field, so it has unique key values. The parent record cannot have any duplicate order keys.

Parent table – one outermost scroll areaa) Key: Checklist_Cdb) Key: Effdt

Child table – one inner scroll areaa) Key: Checklist_Cdb) Key: Effdt

Key: Checklist_Seq

Inserting a row into an effective-dated parent table copies all the associated child rows with the new effective date.

When you prompt for a valid value, only those rows with an effective date that is equal to or less than the effecive date on the parent table will be displayed in the list box. (current and future)

No EFFDT – retrieves the first 300 rows EFFDT (Prompt Table), No EFFDT (parent table) – rows categorized

against the system date. Current rows retrieved EFFDT (prompt table), EFFDT (Parent table) – rows categorized by

EFFDT. Current rows retrived. No EFFDT (prompt table), EFFDT (parent table), all rows retrievable.

List box limited to first 300 rows.

Record Properties, Use TabDefine a parent record to enable parent/child relationship of the tables to be reflected in Query. This will allow Query to automatically perform joins.

To build a Parent/child Record Relationship1) Identify the parent record (set up in Record Definitions)2) Open the parent record definition, clone the parent to the child record

definition.3) Delete all non-key fields4) Add at least one additional key field to the child5) Add any additional non-key fields to the child.6) Add the parent record name to the Use tab in the Child’s Record Properties

dialog box (for Query).7) Assign a prompt table edit to the key fields, which prompts to the parent

Carolyn K. Filer Page 73 of 13404/07/23 8:02 PM

Page 74: Tools Notes

TOOL NOTES

record where the key field first appears.8) Save the child record definition9) Build the child table.

Page – Tabs: Page Designer Order

a) Assigns the level for each field, and scroll area.

Verify that parent scroll area controls only those fields from the parent record definition, and the child scroll area controls only those fields from the child record definition.

If there are more related record definitions than can fit on a single page, you can spread the parent child relationships across multiple pages, typically within the same Component (Panel Group). Each Tab could represent a different child.

Place the parents’ scroll keys on the child page and make them display-only.

Point the key fields to the record in which the fields first appear.

The essential characteristic of a parent/child table relationship is a one-to-many association between parent record and child record.

Parent/child tables are defiend solely by the key structure of the records.

Duplicate Order Keys are not allowed on a parent record.

Multiple child tables can be subordinate to the same parent table.

The easiest way to create a child table is to close the parent record, delete all fields, but the keys, add all required fields for the child table, and designate at least one of these new fields as an additional key.

On a page definition, the occurs level number of a child is one greater than the occurs level number of its parent.

You must join tables through fields with common data. You can join tables on any fields that have common data. A prompt table edit, or a parent-child relationship will ensure that these fields contain common data.

Carolyn K. Filer Page 74 of 13404/07/23 8:02 PM

Page 75: Tools Notes

TOOL NOTES

Peoplebooks RED - Warning! Text in bold within this bar outlined in red indicates a warning message that you should pay particular attention to as you work with your PeopleSoft system

Yellow - Note. Text in this yellow bar indicates important information that you should pay particular attention to as you work with your PeopleSoft system.

Gray - Text in this gray bar indicates "For more information" cross-references to related or additional information..

To print a topic from PeopleBooks with all inline graphics and scaled properly then select File, Print.

Delivered in HTML media format

Collaborative Application documented in this book E-BenefitsPeopleCode Can be associated with

1) Record Fields2) Menus

New3) Components4) Pages5) Component Interfaces6) Application Messages7) Application Engine

PeopleCode PeopleCode programs are owned by record fields, and by Component Record Fields, not by the fields themselves.

PeopleCode View Mode – Record Definition

PeopleCode Display view

PeopleTools PeopleTools Tables contain information that you define using PeopleTools.PeopleTools Metadata Repository

Stores Application objects such as Fields, Records, Pages, Components.

Carolyn K. Filer Page 75 of 13404/07/23 8:02 PM

Page 76: Tools Notes

TOOL NOTES

PeopleTools PeopleBooks

This book is written for technical users, project leaders, and programmers who will be customizing or developing applications using Application Designer.

1) Developmenta) Application Designerb) Globalizationc) Business Process Designd) Application Enginee) PeopleCodef) Integration Tools

2) Adminsitrativea) Administration – Application Designer Utility, Utilitiesb) Application Serverc) Data Management

i) Data Moverii) Import Manageriii) Mass Changeiv) Transaction Set Editorv) PS Audits

d) Process Schedulere) Securityf) Upgrade – Data Mover

3) Reportinga)

PeopleTools tables Object related data such as records, pages and menus. Field Definitions Record Definitions Page Definitions Component (Panel Group) Definitions Menu Definitions Security PS Tools table names begin with PS (no underscore).

Carolyn K. Filer Page 76 of 13404/07/23 8:02 PM

Page 77: Tools Notes

TOOL NOTES

Permission Lists (Class)

In order to view Menus / Component (Panel Group)s, there are three areas of security Permission Lists (Class) Roles User Ids

Security setup: User Profile -> Role -> Permission Slips (Class) -> Menus-> Menus

Permission Slips (Class) are lists or groups of authorizations that you assign to roles.

They store Menus * Signon times - earliest start time and the lastest end time are used for

overlapping times. (Background Disconnect Interval) * Time-Out Minutes Business Process * Process profile (process groups) - establish processing defaults, such as

file and printer destinations or MVS job names and accounts PeopleTool access.

* Controlled by Primary Permission Lists

Display only access to a page is granted via the Permission-List in Maintain Security

To add Permission List (Class)for a menu Go PeopleTools Maintain Security Use Permission Lists (Class) Add

Permission Lists (Class) Tabs General Tab – Description Pages Tab – Add Menu name, or select a Component (Panel Group) to edit PeopleTools Tab Process Tab Sign-on Times Tab

Carolyn K. Filer Page 77 of 13404/07/23 8:02 PM

Page 78: Tools Notes

TOOL NOTES

PIA – PeopleSoft Internet Architecture Component (Panel Group)s

PIA Server Architecture Internet Broswer Web Server

-- JOLT -- Application Server Database Server Directory Server (optional)

The web server uses Java to implement logic and uses BEA system’s JOLT to communicate to the application server.

Two-Tier Server Architecture: Windows Client Database Server

Three-Tier Server Architecture Windows Client Application Server Database Server

Internet computing is a platform that supports the open flow of information between systems.

Benefits:1. Minimizes training efforts (functions like Yahoo)2. Reduces application deployment costs

3. Requires no client installation4. Lowers Client hardware requirements

5. Supports thousands of concurrent users.Pop-up Menu Pop-up menu selected. ItemSelected processing when an menu item is

selected from a pop-up menu.

PrePopup – conditionally alter the appearance of one or more menu items. Can disable a menu item (grayed out), or hide it temporarily. CheckMarks can be placed next to menu item text. ItemSelected – if user selects a menu item from the pop-up list, then this will be fired.

Carolyn K. Filer Page 78 of 13404/07/23 8:02 PM

Page 79: Tools Notes

TOOL NOTES

Portals A web site that helps you navigate to other web-based applications and content. It is the entry point for users.

Two Types:3) Application – primary means of navigation. Does not allow access to

external web content. Only PS applications available from an application portal.a) Categories (menu cascade)b) Breadcrumbs (menu path)c) Three Column Navigation

4) Enterprise – individually purchased from PS.d) WorkForce Portale) Customer Portalf) Supplier Portal

Previous in List Set on the Component (Panel Group) Properties, Internet Tab, Toolbar, Selected Toobar Activities.

Previous Page in Component (Panel Group)

Set on the Component (Panel Group) Properties, Internet Tab, Toolbar, Selected Toobar Activities.

Process Monitor The Process Monitor, which automatically starts each time you initiate a process, shows you the status of processes and enables you to cancel, delete, hold, or requeue them if necessary.

Project Primary organizing unit of work within the Application designer.A user-defined collection of related definitions. A virtual list of other objects.

Application Designer, File, Open, Project, PPLTOOLS, Development TabThese folders contain the object types that can be opened and modified in the Application Designer.

Project within the Design Application – Create a Project1) Define New Fields (PeopleTool Tables – Field Definition)2) Create the Record Definition (PeopleTool Tables – record definition)3) Build the SQL Table (System Catalog and Application Data Tables – build

function)4) Create the Page Definition (PeopleTool Tables – page definition)5) Define the Component (Panel Group) (PeopleTools Table – Component

(Panel Group) definition)6) Create the Menu Definition (PeopleTools tables – menu definition)

From other sources:7) Enable Security (PeopleTools tables – Maintain security)8) Test the Application (Query)

Carolyn K. Filer Page 79 of 13404/07/23 8:02 PM

Page 80: Tools Notes

TOOL NOTES

Project Options Options applied to all projects opened from that workstation Tools, Options Project Tab – used to define how and when objects are to be added to the

project, and how the project is to be displayed in the Project pane.

Project Properties Use File, Project Properties to display the properties for an open project

Project Properties Project Properties Use File, Project Properties to display the properties for an open project

Project Workspace All objects contained within a project are displayed in folders in the Project Workspace.

To open an object in the project workspace, double-click on its icon, or use File, Open.

Options applied to all projects opened from that workstation Tools, Options Project Tab – used to define how and when objects are to be added to the

project, and how the project is to be displayed in the Project pane.1. Added Automatically2. Added Manually

Project Properties Use File, Project Properties to display the properties for an open project

Create a Project Set the project properties (File, Project Properties) Name and save the project (cannot save objects to this project until the

project has been saved) (File, Save Project or Save Project As). (Save and Save As are reserved for saving Objects) (Save all saves all open objects and the project)

Objects inserted in the Project Workspace do not beocme a part of the project definition until the project is saved.

Carolyn K. Filer Page 80 of 13404/07/23 8:02 PM

Page 81: Tools Notes

TOOL NOTES

Projects Organizes an application in logical groups that facilitate large-scale development, customization, maintenance, and upgrade by providing a single entity that tracks new and modified object definitions.

Open: File, Open, ProjectAll objects contained within a project are displayed in folders in the Project Workspace.

Use Projects: Coordinate the work of several developers working on the same

application Promote a better understading of the relationships amoung the object

definitions Simplify the object definition access during development Streamline the migration of objects from one database to another during

the upgrade process Organize object definitons from development to production

To open an object in the project workspace, double-click on its icon, or use File, Open.

Options applied to all projects opened from that workstation Tools, Options Project Tab – used to define how and when objects are to be added to the

project, and how the project is to be displayed in the Project pane.1. Added Automatically2. Added Manually

Project Properties Use File, Project Properties to display the properties for an open project

Create a Project Set the project properties (File, Project Properties) Name and save the project

Save a Project Cannot save objects to this project until the project has been saved. File, Save Project or Save Project As Save and Save As are reserved for saving Objects Save all saves all open objects and the project

Objects inserted in the Project Workspace do not beocme a part of the project definition until the project is saved.

Carolyn K. Filer Page 81 of 13404/07/23 8:02 PM

Page 82: Tools Notes

TOOL NOTES

Prompt Button Page Field Properties, Display OptionsShow Prompt Button

Edit Box (magnifying glass) Typically prompts against a prompt table Click the prompt button to display a list of valid values Prompting opens a separate list box to display valid values Max 300 rows returned Displays the code only

Drop-Down List (down arrow triangle) Typically prompts against the Translate table Click the drop down list button to display a list of valid values Prompting enlarges the list box to display valid values Max 300 rows returned Usually displays a description

When a user clicks on a prompt button, PS Looks in the buffer to see if the base table already exists in the buffer.

Prompt Dialog Box Dialog Box used for search record or prompt table lookups, is composed of:3) Search Keys4) Alternate Search Key

Global1) Search Key defines which fields will be used in prompt box for search2) List Box defines which fields will be used in list box

Carolyn K. Filer Page 82 of 13404/07/23 8:02 PM

Page 83: Tools Notes

TOOL NOTES

Prompt Table A predefined set of valid values Provides a list of values for a field. May or may not be restricted to entering a value from this list (key values

in the originating table) This is a table. The prompting is a function of the table. Used to validate codes on other tables.

Not recommended for used with Translate Values.

To create a Prompt field on a table: Specific table only1) Go to Record Field Properties, Edits Tab:2) Table Edit: 3) Type 4) Select Prompt Table Edit 5) Define the table to be edited from.

Global1) Search Key defines which fields will be used in prompt box for search2) List Box defines which fields will be used in list box

When you prompt for a valid value, only those rows with an effective date that is equal to or less than the effecive date on the parent table will be displayed in the list box. (current and future) No EFFDT – retrieves the first 300 rows EFFDT (Prompt Table), No EFFDT (parent table) – rows categorized

against the system date. Current rows retrieved EFFDT (prompt table), EFFDT (Parent table) – rows categorized by

EFFDT. Current rows retrived. No EFFDT (prompt table), EFFDT (parent table), all rows retrievable.

List box limited to first 300 rows.

Dialog Box used for search record or prompt table lookups, is composed of:5) Search Keys6) Alternate Search Key

You should only specify search keys, alternarte search keys, and list box items if you plan to build a search dialog box based from the view (i.e, you are going to prompt against the view, or use the view as a search record.)

By placing a prompt table edit on a field, you force the user to enter a value from a predefined specified list. Sometimes, you want the user to only have a certain selection of the values. Rather than prompting against a physical application data table, you can specify a view as the prompt table, which only returns certain rows of data

When you place a prompt table edit on a field, you specify which record to prompt against but not which field. PS prompts against the lowest-level key field on the prompt table. If that field is the EFFDT field, then you prompt on the key field that immediately precedes EFFDT in the record definition.

Carolyn K. Filer Page 83 of 13404/07/23 8:02 PM

Page 84: Tools Notes

TOOL NOTES

Prompt Table Edit By placing a prompt table edit on a field, you force the user to enter a value from a Predefined specified list. Sometimes, you want the user to only have a certain selection of the values. Rther than prompting against a physical application data table, you can specify a view as the prompt table, which only returns certain rows of data.

To create a Prompt field on a table: Specific table only6) Go to Record Field Properties, Edits Tab:7) Table Edit: 8) Type 9) Select Prompt Table Edit 10) Define the table to be edited from

A predefined set of valid values Provides a list of values for a field. May or may not be restricted to entering a value from this list (key values

in the originating table) This is a table. The prompting is a function of the table. Used to validate codes on other tables.

When you prompt for a valid value, only those rows with an effective date that is equal to or less than the effecive date on the parent table will be displayed in the list box. (current and future) No EFFDT – retrieves the first 300 rows EFFDT (Prompt Table), No EFFDT (parent table) – rows categorized

against the system date. Current rows retrieved EFFDT (prompt table), EFFDT (Parent table) – rows categorized by

EFFDT. Current rows retrived. No EFFDT (prompt table), EFFDT (parent table), all rows retrievable.

List box limited to first 300 rows.

Application Designer, Record Field Properties, Edits TabRequiredTable Edit Type3) No Edit4) Table Edit

a) Table Edit Type – Values can be validated in four ways:i) Prompt Table with No Editsii) Prompt Table Edit - a predefined set of valid valuesiii) Translate Table Edit – only one table per databaseiv) Yes/No Table Edit

b) Prompt Table - If you use a prompt table for validation, you must specify the particular table to use.

The key fields on the child record should prompt from the record where the field first appears.

You must join tables through fields with common data. You can join tables

Carolyn K. Filer Page 84 of 13404/07/23 8:02 PM

Page 85: Tools Notes

TOOL NOTES

on any fields that have common data. A prompt table edit, or a parent-child relationship will ensure that these fields contain common data.

By placing a prompt table edit on a field, you force the user to enter a value from a predefined specified list. Sometimes, you want the user to only have a certain selection of the values. Rather than prompting against a physical application data table, you can specify a view as the prompt table, which only returns certain rows of data

Sometimes when you place a prompt table edit on a field, you might want the list of valid values to depend on the page’s data. When a user changes the data on page, he or she might also change the list of valid values.

When you place a prompt table edit on a field, you specify which record to prompt against but not which field. The following rule is used to determine the latter:

PS prompts gainst the lowest-level key field on the prompt table. If that field is the EFFDT field, then you prompt on the key fiekd that immediately precedes EFFDT in the record definition.

Properties Project Properties Use File, Project properties to display the properties of an open project. Use File, Object Properties to display the properties of an open object.

1) All objects have properties

Object Properties6. File, Object Properties7. Click the properties toolbar button (man with the hand)8. Right Click a field on a panel9. Right Click a field on a record and select View Translates (only

available on Character fields, with a length of 1-4).

To Update Translate Values10. Third tab of the Field Properties dialog box – used to add, change,

delete values.

Record Properties:3) Applies to record definition as a whole. 4) Use Tab – define record relations and record audits.

Properties Define object characteristics, such as name or value, ro the state of an object, such as deleteed or changed. Some properties are read-only and cannot be set, such as Name or EffDt. Others are read-write, ,and can be set, such as Value or Label.

PSQLTEXTDEFN New with release 8. The tools table PSSQLDEFN stores the SQL object with a key field of SQLID = record definition’s name. PSSQLTEXTDEFN stores the actual SQL statement.

PSSQLDEFN New with release 8. The tools table PSSQLDEFN stores the SQL object with a key field of SQLID = record definition’s name. PSSQLTEXTDEFN stores the actual SQL statement.

Carolyn K. Filer Page 85 of 13404/07/23 8:02 PM

Page 86: Tools Notes

TOOL NOTES

Pure Internet No Client MachinesPush Buttons or Hyperlinks

Versatile page controls. Used to launch internal URLs, external URLs, and PS secondary pages. PeopleCode can be used to hide certain push buttons and hyperlinks from one group of users from running certain processes or accessing certain information.

Push buttons and hyperlinks appear different, but they share the same page control.

Can be displayed in either Text Image

Insert a Push Button or Hyperlink onto a PageApplication Designer -> Insert -> PushButton/Hyperlink Enable when Page is Display only if you wish the push button/hyperlink to

be available to users who have display-only access to this page. Display-only access is granted via the Permission-List in Maintain Security.

Seelct Open in New Window, if you want the page displayed by the URL to open in a new window, as opposed to replacing the existing window.

To alter the push button or hyperlink styles, you can edit PS default style sheets.

PushButton/Hyperlink Page Field Properties5) Type Tab

a) Typei) Push Button or ii) Hyperlink

b) Destination (for push buttons or hyperlinks)i) External Link – launches a URLii) Internal Link – launches a PS pageiii) PeopleCode Command – Executes any FieldChange or Field Edit

PeopleCodeiv) Process – runs processes (if previously setup within the Process

Scheduler)v) Prompt Action – Display a prompt dialog for a specific control

field.vi) Scroll Action – bottom, top, insert row actions.vii) Secondary Page – displays a secondary pageviii) Toolbar Action – Display these actions: Save, Display next

page in Group, Correction.c) Record Named) Field Namee) Enable when Page is Display Only check boxf) Open in New window check boxg) Alignment

i) Leftii) Cetneriii) Right

Carolyn K. Filer Page 86 of 13404/07/23 8:02 PM

Page 87: Tools Notes

TOOL NOTES

h) Activityi) Action Typeii) Related Control

i) Secondary Pagej) External Link

i) Dynamicii) Static

(1) URL IDk) Internal Link

i) Menuii) Componentiii) Pageiv) Actionv) Use data from current page in search check box

l) Processi) Typeii) Name

6) Label Taba) Type

i) Textii) Image

b) Sizei) Small Imageii) Large Imageiii) Standard textiv) Custom

c) Label Texti) Typeii) Textiii) Label ID

Message Set/Numberd) Stylee) Alignment

i) Leftii) Centerediii) Right

f) Image Format/Sizei) Scaleii) Sizeiii) Widthiv) Heightv) Resetr to actual image size push button

g) Imagei) Image ID

Widthii) Height

h) On Mouse Overi) When Disabled

7) General Tab

Carolyn K. Filer Page 87 of 13404/07/23 8:02 PM

Page 88: Tools Notes

TOOL NOTES

Adding an External Link5) Add URL to URL Maintenance Utility6) Open the Trigger APAage and isnert Hyperlink7) Select the Page Field P)roperites and set Attributes8) Test the page online

Adding an Internal Link5) Open the Trigger Page and Insert Hyperlink6) Select the Page Field Properties and set Attributes7) Add Static Text Page Control

a) Insert Menu, Static Text ‘label’8) Test the Page online.

Image labels: One that appears on mouse over One that appears when the push button or hyperlink is disabled

Query Allows users to create and run database queries using a visual representations fo the database, without having to write SQL statements.

A new feature of PeopleSoft 8 is the ability to run predefined queries using the PeopleSoft Internet Architecture. Queries can be as simple or as complex as necessary and can execute from a Web browser and then download the resulting spreadsheet in Excel.

Queries are stored in the database server as an object.

Query Record Properties, Use TabDefine a parent record to enable parent/child relationship of the tables to be reflected in Query. This will allow Query to automatically perform joins.

A Graphical User Interface (GUI)

The base table is typically the table with the most rows of data.

The default criteria always returns the current row of data on effectived dated tables.

In order for joins to work efficiently and usefully, you must join the keys the tables have in common.

Distinct - Returns one row for each unique row retrieved from the record.Adds data without adding duplicate rows.

Query Analyzer Capitalize all object names hwen using query Analyzer for example:PS_PERSONAL_DATA, EMPLID.

Any query written in Query Analyzer can be saved as a script,

Carolyn K. Filer Page 88 of 13404/07/23 8:02 PM

Page 89: Tools Notes

TOOL NOTES

Query View To create a Query View:1) Create a new Record Definition2) On Record Type tab, change the record type to Query View3) Save and name the record definition4) Launch Query5) Select the base table from the Database Dictionary and place in the Query

Dictionary6) Select fields from the base table7) Join related records (if neeed)8) Specify criteria for the view (if applicable)9) Test the query10) View and copy the SQL11) Click OK to exit query12) Paste the SQL into the record properties (General Tab, Record Definitin

Field) dialog box to document the printout.13) Save the record definition14) Clean up Use atttributes (defaults, audit flags, and keys)15) Save the record definition16) Build the view.

If the view is to be used as a search record it’s name should be suffixed with _SRCH. Otherwise it should end with _VW.

_QVW Identifies a Query View

Key fields on the view need to be at the top of the record definition. The selection order within Query will match the order on the record definition.

All fields brought into the record definition bring their Use and Edit characteristics with them from the base tables. These attributes should be check to make sure they are applicable to the view. If you don’t remove the defaults, you can get “ghost” rows on your data.

If updating an existing query view, you will be prompted to repalce the existing fields with the Query field. Click OK only if you have made changes to the field select list, as this action will reset Use attributes for all fields in the view.

Carolyn K. Filer Page 89 of 13404/07/23 8:02 PM

Page 90: Tools Notes

TOOL NOTES

Radio Buttons These values are always validated against the translate table, and are required.

On the Application Designer, Page Definition you select the type of fiield you want to use (radio button).

On the Application Designer, Page Field Properties you can select the default value to be assigned to that radio button (pg. 9-6). You must associate one value for each radio button, and it must already exists on the translate table. If the radio button is selected this value will be written to the designated Application Data table and column.

You must assign values for check boxes and radio buttons.

Record Field Properties, Use Tab, Default Panel Control System Default Check Box Radio Button Drop Down ListCan also indicate the default value for the field.

Record Attributes Associate a record with Page controls (fields), and display options. Record Name (same for all editable page controls (field), fields,

controlled by a scroll area) Field Name

If a field is white you can write in it.If a field is gray you can only display it.

Record Cross Reference

Home -> PeopleTools -> Utilites -> Use -> Record Cross ReferenceCan see where a record is being used as a search record as well as in other areas of the application.

Record Field Event Set Record Field Event Set16) FieldChange17) FieldDefault18) FieldEdit19) FieldFormula20) RowInit21) RowSelect22) RowInsert23) RowDelete24) PrePop-up25) SaveEdit26) SavePreChange27) Workflow28) SavePostChange29) SerachInit30) SearchSave

Record Field Properties

Select Field on a Page, right click, Select View Definition, select field, double clickIndicates the Keys, Audit, Default Value, default panel control

Carolyn K. Filer Page 90 of 13404/07/23 8:02 PM

Page 91: Tools Notes

TOOL NOTES

Record Properties, Use TabDefine a parent record to enable parent/child relationship of the tables to be reflected in Query. This will allow Query to automatically perform joins.

Record Fields Record fields are child components or attributes of records. Record Fields are owned by the record definitions that include fields. Properties of a record field, such as PeopleCode programs and key settings, are not shared among records. A change to a record field property affects only the record that owns the record field.

1) A record is a table-level definition. 2) Record Fields are child definitions, or attributes of records.

a) Record Field PeopleCode programs are child definitions or attributes of record fields.

b) A record field can have zero or one PeopleCode Programs associated with each type of record field event.

Record Field Event Set1) FieldChange2) FieldDefault3) FieldEdit4) FieldFormula5) RowInit6) RowSelect7) RowInsert8) RowDelete9) PrePop-up10) SaveEdit11) SavePreChange12) Workflow13) SavePostChange14) SerachInit15) SearchSave

Component Record Field Event Set1) FieldChange2) FieldDefault3) FieldEdit4) PrePop-up

Carolyn K. Filer Page 91 of 13404/07/23 8:02 PM

Page 92: Tools Notes

TOOL NOTES

Record PeopleCode Event

SearchInitSearchSaveRowSelectFieldDefaultFieldFormulaRowInitFieldEditFieldChangeRowInsertRowDeleteSaveEditSavePreChangeWorkflowSavePostChangePrePopup*

Record Type Record Types are: a) SQL Tables – global default value for new recordsb) SQL Views – Views of single/multiple tables with additional selection

critieriac) Query Views – SQL is generated by the PS Query toold) Dynamic Views – Stored on the client and executed as an SQL Select

statement at runtime. e) Derived/Work Records – used to calcualte values online, such as the

Total Order Amountf) SubRecords – related fields used in other record definitionsg) Temporary Tables – used for batch processing. Used to store

specific data to update without risking your main application table.Records Sets/groups of fields and associated attributes for SQL tables, views, dynamc

views, derived/work records, and subrecords. It2) Defines your table structure3) Specifies online process rules4) Search as a search record

To access: Choose File, Open

Record definitions are the front end for (record types): a) SQL Tablesb) SQL Viewsc) Query Viewsd) Dynamic Viewse) Derived/Work Recordsf) SubRecordsg) Temporary Tables

Field Attributes:5) Field attributes that are inherited from field definition and are global.

a) Field nameb) Typec) Length

Carolyn K. Filer Page 92 of 13404/07/23 8:02 PM

Page 93: Tools Notes

TOOL NOTES

d) Formate) Long Namef) Short Nameg) Translate values

6) Record field attributes, which apply to the field’s function within a specific recorda) Use – identifies search keys, alternate search keys, list box item, field

audits, and defaultsb) Edits – prompt tables, required field, table editsc) PeopleCode

Display (View) modes 1) Field Display view – global attributes defined for fields (right click a field

to view field definition, select View Definition)2) Use Display view – shows key-related characteristics and default values

(right click on field name and select Record Field Properties, Use Tab)a) Search Key – fields used in prompt box for searchb) List Box – fields used in list box

3) Edits Display view – shows all editing options (validation rules) (right click and select Record Field Properties, Edits Tab). Key fields, check box and radio button fields are required. Must enter or have a default value.d

4) PeopleCode Display view

Handles the way the page interacts with the user:1) Prompts2) Table Edits3) Field validation4) Default values

Dialog Box used for search record or prompt table lookups, is composed of:7) Search Keys8) Alternate Search Key

Default values for a field can be assigned in the form of a constant, or record name/field name combination

Values can be validated in four ways:1) Prompt table with no edit2) Prompt table with Edit3) Translate Table Edit4) Yes/No Table Edit

Build an SQL Table process Open the record definition (File, Open) Set Build Options (Build, Current Object) Select Build Settings (Settings button on the Build Dialog box) Complete the Create, Alter, Logging, and Scripts tabs Execute the build (click Build) Confirm the Build (Optional) (Use Query)

Carolyn K. Filer Page 93 of 13404/07/23 8:02 PM

Page 94: Tools Notes

TOOL NOTES

When you create a record definition, you must create an SQL Application Data table in which to store the application data, based on a subsest of the parameters of the record definition.

Synchronizing of Record Definition with the Application Data table if the following are altered1) Add or delete a field on a record2) Modify the length of a field3) Change the required status of a field that is not a character or numeric

field.

The following record definition changes require the creation of new indexes:1) Add, delete, or modify keys2) Duplicate order keys3) Alternate search keys4) Descending keys5) Or list box fields6) Change the order of keys (ascending vs. descending)

Leaving Defaults in place on the record definition can result in unpredictable output.

All fields brought into the record definition of a View bring their Use and Edit characteristics with them from the base tables. These attributes should be check to make sure they are applicable to the view. If you don’t remove the defaults, you can get “ghost” rows on your data.

Views used online in PeopleSoft must have an associated record of definition.

Allow users to enter data for a field in one location only to insure data integrity. Make use of this field on other records display only (or use display only views)

Carolyn K. Filer Page 94 of 13404/07/23 8:02 PM

Page 95: Tools Notes

TOOL NOTES

Related Display Field Displays data based on the value entered in a Display Control field. Populated with data by a record definition different from the Display Control field to which it is linked.

Identifies a field from another table, typically a prompt table or a Xlattable. A Related Display Field contains information derived from the Display Control Field and is displayed on the Page.

Field Display Control Field Related DisplayREF_CURR Currency_Cd on Currency_Cd_Tbl Descr from Currency_Cd_Tbl Editable or display-only Always display only

The tab behind the Page Designer Tab. It displays the page fields in their field. It shows the11) Related Field

Possbile error messages Invalid related display – not after control or related to field outside scroll.

Confirm that the display control fields are lsited before the related display fields in the layout order

There are only two cases when the Application Process does not allocate an entire row of data during buffer allocations.1) Level 0 Record – It does not retrieve any data other than the search keys or

alternate search keys. If you reference a non-search or alternate search key field at Level 0, then the entire row is returned.

2) Related Display Records – Related fields point to a different record than the primary record behind a scrollable area. It retrieves only that field and not the entire row. If a PeopleCode program on the primary record behind that page references a field on the related field’s record, that field is also returned.

You should remove the required attributes and defaults on views.

Avoid using related fields in views. Instead join the table with the desired related field in your SQL statement. Because the application processor won’t have to retrieve related display fields when populating pages, it provides better system performance.

In a view, use related display, or drop-down lists box field if you reference a long or short description from the Translate table. This table is cached to a local drive. Performance is better because it can access the data from cache rather than the database.

Remark RemarkREM/* */

Carolyn K. Filer Page 95 of 13404/07/23 8:02 PM

Page 96: Tools Notes

TOOL NOTES

Report Manager Part of the Process Scheduler Provides a means to view report content Check the status of a job See content detail messages

Report Repository Servlet

On Web Server - The Report Manager servlet enables users to easily access and distribute the output of batch reports, such as Crystal and SQR, run through Process Scheduler over the Internet. This servlet retrieves the report output in the Report Repository and serves it to the browser

Reporting Process Scheduler – schedules and executes reports and manages the distribution of their output.Query Processor – executes query definitons. Integrated with Crystal and ExcelNvision – handles execution of nVision reports. Integrated with Excel.SQR and Crystal – third-party reporting products. Integrated with Process Scheduler. SQR – BRIO third-party Crystal – SEAGATE third partty

Required Fields 6) Key Fields7) Alt Search Key8) Check Box, 9) Radio Button10) Eff_Status,

Application Designer, Record Field Properties, Edits TabRequired check box

Reset State and Search Record Event

When menu page is displayed. When a Component is selected the searcdh page is displayed, prompting fore a search key.

Return to List Set on the Component (Panel Group) Properties, Internet Tab, Toolbar, Selected Toobar Activities.

Carolyn K. Filer Page 96 of 13404/07/23 8:02 PM

Page 97: Tools Notes

TOOL NOTES

Roles In order to view Menus / Component (Panel Group)s, there are three areas of security Permission Lists (Class) Roles User Ids

Security setup: User Profile -> Role -> Permission Slips (Class)A user profile can be assigned to multiple roles.A role can be assigned to multiple Permission Lists (Class).

Role Attributes (i.e., Manager, Student) Menus Signon Business Process Process Profile

Add a new Role Go PeopleTools Maintain Security Use Roles

Role Tabs General Members Dynamic Members Permission Lists (Class) – add Permission Lists (Class) Workflow Role Grants Links

Roles Describe how people fit into the workflow. A class of users who perform the same tyhpe of work, such as buyers or managers. Roles direct the work to types of people rather than to individuals.

Routings Routings connect the activities in the workflow. Theya re the system’s means of moving information from one place to another. Specifies where the information gofes and what form it takes.

Carolyn K. Filer Page 97 of 13404/07/23 8:02 PM

Page 98: Tools Notes

TOOL NOTES

Row Action Events Adds or removes a row of data within a scroll area. RowInsert - performed after inserting a new row of data. Used to perform processing at Row Insert time when RowInit won’t suffice. Used to override effective-dated processing, or auto number new rows of data.

When a row insert is made, will perform RowInit on just the one new row.

RowDelete – performed after deleting a row of data. Used to perform processing with the soon-to-be removed data, or to stop Row Delete. Used to calculated running totals or to prevent a row from being deleted. After finished, performs FieldDefalt and Field Formula.

Row Set Contains one or more rows. A row contains one or mor records and zero or more child rowsets, and a record contains one or more fields. It is a scroll on a page. A level 0 rowset contains all the data for the entire component.

Row-Level Security Achieved through special security views. Financial products come delivered with security views based on BU, SETID, Ledger, Project, Analysis Group, or book. These security views are used as prompt tables on search records.

When Security Views are used as search records or search record prompts in applications, row-level security is in effect. In other words, row-level security is implemented through views.

Implemented using SQL views to control the rows of data that can be accessed by each user.

Views are used as search records, to provide additional search criteria, create row-level security, and allow search range processing.

Search views used for row-level security use a Where clause in the Select statement to exclude a set of rows from the search dialog box.

Rules Business practices. Wht activities are required to process your business data. Contained in policies and procedures.

Carolyn K. Filer Page 98 of 13404/07/23 8:02 PM

Page 99: Tools Notes

TOOL NOTES

Run Controls Run control IDs are defined in the Process Scheduler, and represent a set of parameters that determine how the system runs various transactions.

Request Options· Run Location. Requests can run on the client or a specified server.· Output Destination. You can have you output sent to a file, a printer, or (for client C Crystal requests) a window.· Run Date/Time. Specify the date and time that this process background will run on a server.· Run Recurrence. You can set requests to run once or every business day.

There are several kinds of file output types that you can choose for your process. The following table shows a list of file output types listed by process type. The default output type for Crystal and nVision processes is HTML. The default output type for SQR is Adobe Acrobat (.pdf). COBOL and Application Engine processes defaults will create output in the log file.1) Crystal

a) Excel (*.xls)b) Word (*.doc)c) (*.lis)d) Rich Text Files (*.rtf)e) Text File (*.txt)f) Crystal Reports (*.rpt)g) HTML (*.html) *** Default

2) Nvisiona) Excel (*.xls)b) HTML (*.html) *** Default

3) SQRa) Acrobat (*.pdf)b) (*.lis)c) SQR Portable Format (*.spf)d) Comma Delimited (*.csv)e) HTML (*.html) *** Default

Carolyn K. Filer Page 99 of 13404/07/23 8:02 PM

Page 100: Tools Notes

TOOL NOTES

Save Action Events Save push button pushed. DML updates made to database. SQL Commit command is performed.

SaveEdit – Performed when a component is saved. Performs consistency, or relational edits among multiple fields on a record definition. Edit multiple rows of data in the buffer when you save the component. .

SavePreChange – Performed when a component is saved. Performs last-minute processing before the update is performed. Used to calcuale or display characteristics may need to be changed.

Workflow – Performed when a component is saved. Segregate PeopleCode related to WorkFlow.

SavePostChange – Performed when a Component is saved, after the system updates the database. After the Component Processor issues the appropriate SQL commands to update the database. Updats other tables based on the new values that were just updated. SQL commit is then performed. Updates data existing outside of the buffers of the component.

Save All In the Application Designer this saves all open objects in the order created and saves the project.

Save or Save As Within the Application Designer this is reserved for saving Objects. Use the Save Project or Save Project As to save a Project.

Scroll Areas File, Open, Object Type, Page, Insert, Scroll Area

Scroll controls include scroll areas and scroll bars. Scroll areas are preferred control over scroll bars. Scroll bars are rarely used in Web pages. Scroll Areas and Grids Used to insert additional rows of data into a table, to move through existing rows of data to delete rows of data. You cannot insert rows into a page that does not contain a scroll area or grid.

The scroll area and grid marks the fields it controls. All fields at the same level must come from the same record definition unless they are related fields.

1) Used to scroll through dated records. Controlled by effective date field.2) A scroll area controls only one table.3) Parent table – one outermost scroll area

a) Key: Checklist_Cdb) Key: Effdt

4) Child table – one inner scroll areac) Key: Checklist_Cdd) Key: Effdte) Key: Checklist_Seq

Application Designer, Page Design, double click in the scroll area to display the Page Field Properties for Scroll Areas, General Tab

Application Designer, Page Design, double click in the scroll area to display the Page Field Properties for Scroll Areas, Use Tab

Carolyn K. Filer Page 100 of 13404/07/23 8:02 PM

Page 101: Tools Notes

TOOL NOTES

Three areas where you can apply hyperlinks or push buttons to natigate through multiple rows of data within the scroll area. Header Body Footer

To alter a Occurrs Level of a Scroll Area: Right click on the scroll area Select Page Field Properties Click General tab.

Level 0 – Search Key Fields, and any field not controlled by a scroll area.Level 1 – use a scroll bar, not a grid. Can control only one record definition. All fields in that scroll area must be from the same record, unless they are related fields. All fields controlled by a scroll area assume the sames Occurs level as the scroll area. Can drag all Level 1 fields from record definition onto the page definition (except radio buttons, or related fields)Level 2-3 – the occurs level of any other scroll area depends on how its primary record definition relates to that of the existing scroll areas. If the data in the second scroll area does not depend on the data from the first scroll area, the second scroll area has an occurs level of 1. If the second record definition depends on data from the frist scroll area, the second scroll area has an occurs level of 2.

Any field not controlled by a scroll area or grid is at level zero.

An occurs level with a scroll area or grid cannot go further than occurs level three.

Scroll Bars Possible Error Messages Warning. EFFDT field at level 0Confirm that the scroll bar appears immediately before all fields that it controls in the layout order.

Use a scroll bar for for Level 1 – Do not use a grid

Each scroll area or grid uses the keys of the previous occurs levels to access its primary record.

Scroll Keys Place the parents’ scroll keys on the child page and make them display-only.

Carolyn K. Filer Page 101 of 13404/07/23 8:02 PM

Page 102: Tools Notes

TOOL NOTES

Scroll Levels Assigned on the Page Field Properties.

???? Indicates which scroll bar this field is assigned to?

File, Open, Component (Panel Group)

Shows the Pages as you wish them to be displayed on the menu. Also displays the Scroll Levels, records, and scrolls in a tree presentation. A green asterisk appears beside any required fields.

The search record must contain all of the level-zero search key fields on the page. The associated Application Data table is used to populate level 0.

The search record for a dialog box is usually the record for the table being accessed. The goal is to search against the table that is the source of the level-zero search key(s)

Level 0 – Search Key Fields, and any field not controlled by a scroll area.Level 1 – use a scroll bar, not a grid. Can control only one record definition. All fields in that scroll area must be from the same record, unless they are related fields. All fields controlled by a scroll area assume the sames Occurs level as the scroll area. Can drag all Level 1 fields from record definition onto the page definition (except radio buttons, or related fields)Level 2-3 – the occurs level of any other scroll area depends on how its primary record definition relates to that of the existing scroll areas. If the data in the second scroll area does not depend on the data from the first scroll area, the second scroll area has an occurs level of 1. If the second record definition depends on data from the frist scroll area, the second scroll area has an occurs level of 2.

Four scoll area are allowed (Level 0, 1, 2, 3).

Label the scroll areas so you can see which scroll area you’re referring to on the Order Tab. You specify the label in the scroll area’s page field properties.

Search Basic – Search on single search key or alternate search key Advanced – search on any combination

Search Key defines which fields will be used in prompt box for searchList Box defines which fields will be used in list box

Dialog Box used for search record or prompt table lookups, is composed of:9) Search Keys10) Alternate Search Key

Carolyn K. Filer Page 102 of 13404/07/23 8:02 PM

Page 103: Tools Notes

TOOL NOTES

Search Dialog box Search Dialog Boxes are constructed according to the search key(s) and alternate search key(s) of the search record designated in the Component (Panel Group) properties.

To determine the appropriate search record:4) What is the search key on the page?5) What table (record definition) contains all possible values for that key?6) What fields do you want to see in the search dialog box?

The search record for a dialog box is usually the record for the table being accessed.

Although a field can be a Key field, it does not have to be a search key. For example, the EFFDT field, is usually a key field, but is not a search key, and thus does not appear on the search dialog box.

You should only specify search keys, alternarte search keys, and list box items if you plan to build a search dialog box based from the view (i.e, you are going to prompt against the view, or use the view as a search record.)

Within a View, only specify search keys, alternate search keys, and lists box items if a search dialog box is going to be built within it.

Search records control two important aspects of how applications function:3) Control which values you can enter to access an application4) Control which fields appear in the search dialog box.

Determining factors when chosing search keys:4) Which table or view should the application use to look for the search key5) Which fields should be in the search dialog box6) Which base table will populate Level 0.

A view used as a search record (_SRCH), should have a dialog search box that looks the same as the original base record. Each should have the same search keys, alternate search keys and list box items in the same order. The order of alternate search keys within the search dialog box will be th same as their order on the record definition.

A view used as a search record (_SRCH), should have a dialog search box that looks the same as the original base record. Each should have the same search keys, alternate search keys and list box items in the same order. The order of alternate search keys within the search dialog box will be th same as their order on the record definition.

Search views used for row-level security use a Where clause in the Select statement to exclude a set of rows from the search dialog box.

Carolyn K. Filer Page 103 of 13404/07/23 8:02 PM

Page 104: Tools Notes

TOOL NOTES

Search Event Retieve all the data needed for the entire component. Allocates buffers to hold application data.

SearchInit – Performs before a search record dialog is displayed. Initializes fields or apply defaults to the search page. Must be attached on the search record to the search keys and alternate search keys. Used to populate fields such as BU, DeptID, Setid. Used to enforce row-level security by populating the dialog for the user, and prohibiting the user from changing the dialog box fields.

SetSearchDialogBehavior – Use it to skip over the search dialog box.

SearchSave – Performed after values are entered in dialog and selects the OK push button. Edit values entered in the search record dialog. Used to force the user to enter a value into the dialog, restrict the range of codes that can be added, or edit the values entered.

Search Key Application Designer, Record Field Properties, Use Tab

Indexes built with a name of PsnRecname, i.e., PS0Vehicle_Tbl

Search Dialog Boxes are constructed according to the search key(s) and alternate search key(s) of the search record designated in the Component (Panel Group) properties.

To determine the appropriate search record:7) What is the search key on the page?8) What table (record definition) contains all possible values for that key?9) What fields do you want to see in the search dialog box?

The search record for a dialog box is usually the record for the table being accessed. The goal is to search against the table that is the source of the level-zero search key(s).

Need the ADD Action on each page, if you need to be able to add search key values. Actions are added on the Component (Panel Group) Properties, Use Tab, Action group box.

Although a field can be a Key field, it does not have to be a search key. For example, the EFFDT field, is usually a key field, but is not a search key, and thus does not appear on the search dialog box.

The search record must contain all of the level-zero search key fields on the page. The associated Application Data table is used to populate level 0.

How Buffer is loaded:Once you select a search key, all the application data needed for the Component (Panel Group) is retrieved from the database. The buffers on the client workstation are allocated and populated in a very precise manner. The Application Processor uses occurs levels in the Component (Panel Group), and

Carolyn K. Filer Page 104 of 13404/07/23 8:02 PM

Page 105: Tools Notes

TOOL NOTES

the order that pages reference record definitions1) Fills buffers for all Level 0 record definitions in the tab order on the page

definition.2) It fills the first row of data for each record definition at Occurs Level 1 (if

it exitsts).3) Looks for data subordinate to Occurs Level 1.4) Retrieves all rows at the Occurs Level 2 (if it exists).5) Retrieves all rows at the Occurs Level 3 (if it exists).

Only one row of data can exist at Level 0

There are only two cases when the Application Processor does not allocate an entire row of data during buffer allocations.1) Level 0 Record – It does not retrieve any data other than the search keys or

alternate search keys. If you reference a non-search or alternate search key field at Level 0, then the entire row is returned.

2) Related Display Records – Related fields point to a different record than the primary record behind a scrollable area. It retrieves only that field and not the entire row. If a PeopleCode program on the primary record behind that page references a field on the related field’s record, that field is also returned.

You should only specify search keys, alternarte search keys, and list box items if you plan to build a search dialog box based from the view (i.e, you are going to prompt against the view, or use the view as a search record.)

Within a View, only specify search keys, alternate search keys, and lists box items if a search dialog box is going to be built within it.

Search records control two important aspects of how applications function:3) Control which values you can enter to access an application4) Control which fields appear in the search dialog box.

Determining factors when chosing search keys:1) Which table or view should the application use to look for the search key2) Which fields should be in the search dialog box3) Which base table will populate Level 0.

Since Search records are specified at the Component (Panel Group) level, every page in that Component (Panel Group) must contain the same high-level search key.

As long as the search record contains the same search key as all the pages within the Component (Panel Group), modifying the search record should not require any changes to the pages

A view used as a search record (_SRCH), should have a dialog search box that looks the same as the original base record. Each should have the same search keys, alternate search keys and list box items in the same order. The order of alternate search keys within the search dialog box will be th same as their

Carolyn K. Filer Page 105 of 13404/07/23 8:02 PM

Page 106: Tools Notes

TOOL NOTES

order on the record definition.Search Record Go, PeopleTools, Application Designer, File, Open, Component (Panel

Group), Component (Panel Group) Properties, Use Tab, Access Group BoxAssign the Search Record used to retrieve data into the page.

Search Dialog Boxes are constructed according to the search key(s) and alternate search key(s) of the search record designated in the Component (Panel Group) properties.

The search record controls the search dialog box.

The search record must contain all of the level-zero search key fields on the page. The associated Application Data table is used to populate level 0. The search record for a dialog box is usually the record for the table being accessed.

The search record is a binding and necesssry property of the Component (Panel Group) definition and makes the Component (Panel Group) a standalone and consistenly reusuable object. This allows a Component (Panel Group) to appear to multiple menus through the application.

To determine the appropriate search record:1) What is the search key on the page?2) What table (record definition) contains all possible values for that key?3) What fields do you want to see in the search dialog box?

Level 0 – points to the search table for the key.

The search record must contain all of the level-zero search key fields on the page. The associated Application Data table is used to populate level 0.

Separate pages in a Component (Panel Group) must have the same search record. You define this attribute in the Component (Panel Group) properties. You define this attribute in the Component (Panel Group) properties.

All pages within one Component (Panel Group) must share one search record and all actions.

You should only specify search keys, alternarte search keys, and list box items if you plan to build a search dialog box based from the view (i.e, you are going to prompt against the view, or use the view as a search record.)

If the view is to be used as a search record it’s name should be suffixed with _SRCH. Otherwise it should end with _VW.

Search records control two important aspects of how applications function:5) Control which values you can enter to access an application6) Control which fields appear in the search dialog box.

Carolyn K. Filer Page 106 of 13404/07/23 8:02 PM

Page 107: Tools Notes

TOOL NOTES

Determining factors when chosing search keys:4) Which table or view should the application use to look for the search key5) Which fields should be in the search dialog box6) Which base table will populate Level 0.

Since Search records are specified at the Component (Panel Group) level, every page in that Component (Panel Group) must contain the same high-level search key.

When Security Views are used as search records or search record prompts in applications, row-level security is in effect. In other words, row-level security is implemented through views.

To create a new Search Record using views:1) Create a new record definition (_SRCH)2) Select fields for output3) Add Criteria4) Test the Query5) Exit and save query6) Modify Use and Edit attributes (specify physical keys, specify search keys,

alternate search keys, and list box items.)7) Create View8) Create a new Component (Panel Group)9) Change the search record to use the prior record (_SRCH)10) Add the Component (Panel Group) to an existing menu 11) Grant security12) Test the application

Home -> PeopleTools -> Utilites -> Use -> Record Cross ReferenceCan see where a record is being used as a search record as well as in other areas of the application.

When changing the search record on an existing Component (Panel Group), you change it in all places where that Component (Panel Group) is used in the online application. If you need only to limit the rows a user can see on one Component (Panel Group), you can clone that Component (Panel Group) and change the search record on the new version.

As long as the search record contains the same search key as all the pages within the Component (Panel Group), modifying the search record should not require any changes to the pages.

When you insert a Component (Panel Group) into a menu, the search record defaults from the Component (Panel Group) definition. The Search Record Override feature on the Menu Item Properties dialog box allows you to reuse a Component (Panel Group) but specify different search criteria by using a different search record.

Views are used as search records, to provide additional search criteria, create row-level security, and allow search range processing.

Carolyn K. Filer Page 107 of 13404/07/23 8:02 PM

Page 108: Tools Notes

TOOL NOTES

Using views to provide additional search criteria requires joining two or more tables.

Secondary Pages Secondary pages gather or display supplemental information that is related to the data in the primary page, but is less frequenly referenced or updated. Must click a push button or hyperlink to display a secondary page.

They do not appear in the cascade menu for a component. It is part of the standard page, but only appears when the pushbutton/hyperlink is selected.

Go to Page Properties1) Use Tab

a) Page type – Secondary Pageb) OK and Cancel buttons check box - Use if you intend for users to add,

modify, or delete data on a secondary page. c) Close Box check boxd) Page Size – auto-size or custom size

Secondary Panel Setup on Page Properties, Use Tab

Carolyn K. Filer Page 108 of 13404/07/23 8:02 PM

Page 109: Tools Notes

TOOL NOTES

Security 4) Internet Security - Controls user access to shared hardware and software resources

5) Web Server/Application Server –Operating system security controls access to system objects and resources

6) Database Security - Controls access to the database tables.a) User Security – who has access to PS applications, when tht access is

granted, and th level of authorized functionality. Established using Maintain Security.

b) Row-level security – implemented via SQL views to control the rows of data that can be accessed by a each user.

c) Field-level security – restricts user access to specific data fields. Assigned by assigning PeopleCode to the restricted field, or by placing restricted fields on pages to which all users do not have access.

To enable security Open Maintain Security - PeopleTools, Maintain security Add New Permission Slips (Class) – Use, Permission List Access the menu item attributes – Page Tab, Select menu to edit

Component (Panel Group) Add a new menu (optional) – locate menu to view – click Edit Pages –

click the Select checkbox – this allows menu to be viewed Permit Access to the New Menu Item – In the edit pages – select the

attributes – Select, Add, Update/display and so on Click OK Save Changes – File, Save Add Roles and UserIDs (Optional) – Use, Roles – assign Permission List

(Class)to Role, Save ChangesUser User Ids – Assign UserID to Role-In turn is assigned to Permission List. Save Changes.

Exit Maintain Security

Security setup: User Profile -> Role -> Permission Slips (Class) -> Menus

Security may be one reason to include a Component (Panel Group) on more than one menu.

When an application server is booted, the User ID/Operator ID specified in the configuration file, PSAPPSRV.CFG must be authorized to start an application server. That authorization is provided by a setting in the STARTAPPSVR column in PSOPRDEFN—a value of 1 authorizes an operator to start an application server. You can also grant this authorization through Security Administrator in the Options group when defining an operator. Just select the Allowed to start application server checkbox.

The authorization to start an application server does not (directly or indirectly) grant any authorizations or privileges beyond the ability to start application server.Clients connecting to application server send their Operator ID and Password. The application server uses these values to check authorization in PSOPRDEFN, just as it happens in a two-tier connection.

Carolyn K. Filer Page 109 of 13404/07/23 8:02 PM

Page 110: Tools Notes

TOOL NOTES

Security – Menu Types of security PeopleSoft Interntet Architecture Web Server/Application Server Database PeopleSoft Application

Security configured outside of PeopleSoft Internet Browser Web Server/Application Server DBMS security

In order to view Menus / Component (Panel Group)s, there are three areas of security Permission Lists (Class) Roles User Ids

Security setup: User Profile -> Role -> Permission Slips (Class)Security Adminsitrator Table land column security can be accomplished via Security Adminsitrator.Security Views Achieved through special security views. Financial products come delivered

with security views based on BU, SETID, Ledger, Project, Analysis Group, or book. These security views are used as prompt tables on search records.

When Security Views are used as search records or search record prompts in applications, row-level security is in effect. In other words, row-level security is implemented through views.

Server - Application Where all PS logic occurs. It is the brains of the PIA.

Server - Database Purely a database. It now stores page and supplies image and URL repositories. Would also store query definitions.

Application Data Tables house the actual data your users will enter and access through PeopleSoft application windows and panels.

Server – Web A Java-enabled web server is required to support browser transaction requests and the application messaging technology. You install on the web server a collection of PeopleSoft Java servlets designed to handle a wide range of PeopleSoft transactions.

Service Packs Has all fixes and prerequisites.Servlets Stored on the web server

Carolyn K. Filer Page 110 of 13404/07/23 8:02 PM

Page 111: Tools Notes

TOOL NOTES

SET command 1) SET LOG – sets name of log file (dedfaults to datamove.log)2) SET NO TRACE – Overrides traces setup in configuration manager.3) SET OUTPUT – directory and file name for exported file. (default

datamove.data)a) Use suffix .db if exporting an entire databaseb) Use suffix.dat for less than a whole database

4) SET INPUT – directory and filename for the input file.5) SET START – Restarts the import processs at a point other than the

beginning of the iput file, to skip a failing table, or to restart after an error.6) SET COMMITT – Specify the frequency of SQL commits while data

being loaded into a table. Default – issued after all data rows are loaded into the table.

7) SET NO – SPACE – skip creation of record tablespacesSET NO – RECORD – skip creation of table definitionsSET NO – DATA – prevent SQL INSERTs for dta rowsSET NO – VIEW – skip creation of SQL views.

8) SET IGNORE_DUPS – disregard duplicate INSERT errors.

Does not perform data integrity checks. You can create child tables without parent tables.

Signed Number Fields Allows display of negative nubmersSignon Connection Type: database platform

Database NameOperator IDPassword

The Database Type drop-down list is where you select the name of the RDBMS—ORACLE, INFORMIX

SQL – Structured Query Language

Used to manipulate dataCommands SELECT – retrieves data from the search dialog box in update mode. INSERT COMMIT UPDATE DELETE ROLLBACKFunctions performed within PS pages result in execution of SQL commands against the database tables.

SQL Application Data Table

When you create a record definition, you must create an SQL Application Data table in which to store the application data, based on a subsest of the parameters of the record definition via the Build function.

SQL Objects New with release 8. The tools table PSSQLDEFN stores the SQL object with a key field of SQLID = record definition’s name. PSSQLTEXTDEFN stores the actual SQL statement.

Carolyn K. Filer Page 111 of 13404/07/23 8:02 PM

Page 112: Tools Notes

TOOL NOTES

SQL Statements Create View * AsSelect *, *, * from *, *Where * = * And * = *

Then Select * from new created view.SQL View To create a view within PS,

1) create a record definition. 2) Go to Record Type Tab and select one of three types of record definitions

for views:a) SQL View – an SQL statement. b) Query Viewc) Dynamic View

7) Create SQL and copy it8) Go to Record Properties (if Query View)

a) General tab and paste it into the Record Definition Field.

SQL ViewNew with release 8. The tools table PSSQLDEFN stores the SQL object with a key field of SQLID = record definition’s name. PSSQLTEXTDEFN stores the actual SQL statement.

The SQL select statement in the record definition rules are:1) The columns in the Select claused must be in the same order as the fields

appear on the record definition for the view.2) You can use meta-SQL to write platform-independent code, i.e., today’s

date = %CurrentDateIn.

The field name on the record definition must match the field name in the SQL View Select Statement.

SQL view record definitions must be created on the database server using build, Current Object in Application Designer. Because views don’t store data, you can’t lose any physical data by dropping and recreating a view. Do not select the Create Indexes option. Views do not generate their own indexes, they use the indexes of the physical tables referenced in the view. Will add the PS_prefix to the table name, unless you entered a non-standard SQL Table Name.

Requires you to type in the SQL select statement manually.

_VW Identifies a record definition that is physically implemented by defining a SQL view.

Standard Internet Technologies

HTMLXMLWMLHTTPAll supported by PS

Carolyn K. Filer Page 112 of 13404/07/23 8:02 PM

Page 113: Tools Notes

TOOL NOTES

Static Labels Used to add a label to a push button or hyperlink on the page. Avoid using static label text on a PS page. Static text is extremely difficult to manage if you need to translate your page labels into another language. Use Message Catalog instead.

Steps Indivdual actions you perform.Steps of Production 1) Install the new PS release, using Data Mover. An untouched Vanilla

version (demo)2) Perform Database inegrity checks on the production database and freeze

PeopleTools. a) DDDAUDIT SQR – finds inconsistencies between PT record and

Index definitions and the database objects. b) SYSAUDIT SQR – Identifies orphaned PS objects and other

inconsistencies within your system. 3) Copy the production Database – used to compare, copy and test4) REL up the Tools. REL (Release) scripts are SQL scripts that modify the

underlying table structure of a database so it’s compatible with a more recent PT release.

5) Load Synonyms (used with security)6) Upgrade Objects

a) Compare the new objects in the vanilla database with the ones in the old database

b) Report on the differencesc) Analyze the differences. d) Copy the objects desired.

7) Export/Copy other projects8) Perform the SQL Builds/Alters (Tools tables updated when you copy the

objects, but the Application Data and System Catalog tables will not get updated until the Builds/Alters are performed.)

9) Run SQL Scripts – updates message catalog, load stored procedures, and perform other necessary functions.

10) Move the data using Data Mover.11) Make your manual adjustments

a) PeopleCodeb) Menu Changesc) Other Adjustments

12) Establish Security13) Test your work

Style Sheets Can be applied at1) System Level2) Page Level

Default Style Sheet is called PSSTYLEDEF and PSSTYLEDEF_SMALL

Create a style sheet in Home – Peopletools – Utilities – Use – PeopleTools Options

Page Style Sheet is assigned to a page on the Page Properties – Use Tab. So they control the formatting of each page control used within PS.

Page Classes are assigned to each page control (field) on the Page Field Properties – Record Tab.

Carolyn K. Filer Page 113 of 13404/07/23 8:02 PM

Page 114: Tools Notes

TOOL NOTES

The application server must be rebooted before changes to the system style sheet take effect.

Styles sheets are made up of a series of classes. Classes can be either default or custom.

Each default class controls the formatting of a particular page control (field), unless overridden.

Made up of1) Individual classes

a) Default classesb) Custom classes

Subpages Modular formations of PS page controls that can be used in multiple PS pages. Using subpages can reduce tedious process of duplicating a particular layout from web page to web page. Can group items that are commonly displayed together on one reusable page control. This eliminates the need to add all fields individually to each page in which they are used (i.e., address fields)

To see the individual fields on the page, select Layout, Test Mode.

Page Properties1) Page Type = Subpage2) Page Size = Auto Size

Create Subpage1) Create a standard PS Page with fields that are to be displayed together.

a) Select characteristicsb) Select field orderc) Fields must appear on each of the pages when this subpage will be

displayed.2) Set Page properties – File, Object Properties, Use

a) Page Type = Subpageb) Page Size

i) Auto Size – most commonly usedii) Custom Size

3) Save the Subpagea) Save as _SBP.

To Add Subpage to other PS Pages1) From Page Definition, select Insert, Subpage2) Fields created in a subpage are tied to a record definition3) One level on a page relates to one record definition, unless the fiels are

related display or derived. The Record Definition that was originally used for the subpage is translated to the record definition corresponding to the appropriate level on the page using the subpage.

4) Tabbing – once tabbing gets to the subpage, it will look at the field order of the subpage to determine its tabbing sequence.

5) Field order should follow all the rules for a page.Subpanel Setup on Page Properties, Use Tab

Carolyn K. Filer Page 114 of 13404/07/23 8:02 PM

Page 115: Tools Notes

TOOL NOTES

SubRecords Related fields used in other record definitions

_SBR Identifies record definitions created as subrecords.

Carolyn K. Filer Page 115 of 13404/07/23 8:02 PM

Page 116: Tools Notes

TOOL NOTES

Subrecords A group of fields, helping to avoid duplication of maintenace in devleopment and configuration process.

They are not physical records, and are not built at the database level, they can be added to any record definition in one single step. A record using a subrecord will inherit all of that subrecord’s fields and all of those fields’ attributes.

ExamplesStreet, City, State, Postal Code, Country

Reasons useful:1) Fields do not have to be added individually to each record definition that

requires the group. 2) The mainenance of fields becomes easier. If a field needs to be added as

part of the group, it only needs to be added in one place. If changes are made to a subrecord, you might need to SQL alter (or SQL create) any record definition that uses the subrecord.

Create a SubRecord1) Create the Record Definition

a) Add Use and Edit characteristicsb) PeopleCode can also be assigned to a subrecord, although it may be

more practical to add it to the individual pages.c) Record Type needs to be made as SubRecordd) Save with _SBR suffix to identify it as a subrecord.

2) Add to Record Definitiona) Select Insert, Subrecord (cannot insert, cut, delete paste, reorder, or

sort subrecord fields within a record)b) Change Field, Use and Edit characteristics

3) Build Recorda) If fields are added to or deleted from a subrecord, all the records that

reference that subrecord must be altered. If a subrecord’s key, search key, or alternate search key attributes are modified, the indexes of all the records that reference that subrecord must be rebuilt.

Can expand the sub-record in a record definition by clicking on the sub-record field, or by selecting View menu, Expand all Subrecords. They are display only. Any changes to the record field properties must be carried out on the subrecord itself.

The record behaves as if each of these fields within a subrecord are individually inserted into the record definition and configured one by one.

No fields are designated as keys, search keys, alternate search keys, or list box items.Subrecords have few attributes, since they will be inherted into each record they are inserted.

Record Type – Sub-Record (must be so designated to be inserted into a standard record definition)

Carolyn K. Filer Page 116 of 13404/07/23 8:02 PM

Page 117: Tools Notes

TOOL NOTES

Suffixes _TBL Identifies an edit or prompt table that contains data used for validation, as opposed to data maintained by the application. Prompt tables store commonly used values. They include, but are not limited to, control tables, which store company-wide values. For example the location table (LOCATION_TBL) stores valid values for all operating locations where your company does business, the country table (COUNTRY_TBL) stores values for all valid countries.

_VW - Identifies a record definition that is physically implemented by defining a SQL view.

_DVW - Identifies a dynamic view. _SBR Identifies record definitions created as subrecords. _QVW - Identifies a Query View _WL - Identifies the record as a worklist record definition. R_ - Identifies record definitions created as work record definitions for

SQR reports. The remainder of the record name consists of the program or report ID.

AUDIT_ - Identifies record definitions used to store audit information for other record definitions in the database

_FUNCLIB_xxxx - Function Library. Record containing PeopleCode functions that are shared across an application; normally, one per product._LNG – Related language record._SBP – Identifies a subpanel record._SRCH – Search record; usually associated with a view This is not always required since a lot of views are also used as search records. Views will usually have the _VW suffix._TMP – Temporary records used by batch processing._WRK – Identifies record definitions created as derived/work records for online processing.

Summary Page All fields on a Summary Page should be display-only, because the view upon which the page is based does not store any data. It is a standard to not update data through a view.

Avoid using related fields. Instead join the table with the desired related field in your SQL statement. Because the application processor won’t have to retrieve related display fields when populating pages, it provides better system performance.

Synchronize Record Definitions and Application Data Tables

Done when you create/build a table.

Modifications to a record definition that requires that the table be re-created:1) Adding a field2) Deleting a field3) Modifying the length of a fieldMake this change by using alter Table process

Syscolumns The colunns in a view are storred in rows of data on Syscolumns, just like a table.

By using sp_helptest you can see the columns sotred for a view. i.e., sp_helptest TECH_EMPL_VW

Carolyn K. Filer Page 117 of 13404/07/23 8:02 PM

Page 118: Tools Notes

TOOL NOTES

SysObjects When a view is created, a row of data is generated on the system catalog table SysObjects. SQL user tables are indicated with a type of U, whereas views have a type of V.

System Catalog Tables System Catalog Tables store physical attributes of tables and views, which your database management system uses to optimize performance.

System Catalog Tables Indexes and characteristics of tables and columns The SQL Table once created.

View system catalog information in Microsoft SQL Server, Query Analyzer:sp_help PS_VEHICLE_TBL

Views are stored in System Catalog tables.

When a view is created, a row of data is generated on the system catalog table SysObjects. SQL user tables are indicated with a type of U, whereas views have a type of V.

System Date Current date on the database (today’s date)System Defaults Date field – edit box with prompt button

Translate table edit – Drop-down listPrompt table edit – edit box with prompt buttonYes/No Edit – Check boxLong Character – long edit boxNone of the above – edit box

Record Field Properties, Use Tab, Default Panel Control System Default Check Box Radio Button Drop Down ListCan also indicate the default value for the field.

System Maps Step MapsA step map displays the steps (individual procedures) that comprise a business process. When a user clicks on a step icon, the system opens the application panel associated with that step. Thus, step maps provide a link from the business process map to application panels.

System Variables Populated and maintained by PeopleCodeBegin with %

Carolyn K. Filer Page 118 of 13404/07/23 8:02 PM

Page 119: Tools Notes

TOOL NOTES

Tab Component (Panel Group) Properites – Internet Tab3) Multi-Page Navigation

e) Display Folder Tab (top)f) Display Hyperlinks (bottom)

Component (Panel Group) Properties, Internet Tab, Multi-Page Navigation Display Folder Tab (top) Display Hyperlinks (bottom)

Go, PeopleTools, Application Designer, File, New, Component (Panel Group)Define Component (Panel Group) attributes

Define for each page. Enter the folder tab label. Each Fold Tab is a page within the Component (Panel Group)

Go, PeopleTools, Application Designer, File, New, Component (Panel Group).The grouping of pages and their associated labels on one Component (Panel Group). Creating Folder Tabs in the Component (Panel Group) with the related pages.

Go, PeopleTools, Application Designer, File, New, Component (Panel Group)Define Component (Panel Group) attributes

Define for each page. Enter the folder tab label. Each Fold Tab is a page within the Component (Panel Group)

If there are more related record definitions than can fit on a single page, you can spread the parent child relationships across multiple pages, typically within the ame Component (Panel Group). Each Tab could represent a different child.

Table – Alter Synchronizing of Record Definition with the Application Data table if the following are alteredField1) Add or delete a field on a record2) Alter a field name3) Modify the length of a field4) Modify a field type

Edits5) Change the required status of a field that is not a character or numeric field

a) Logn characterb) Datec) Timed) Date/Timee) Image.

Table – Naming Conventions

PS Tools table names begin with PS (no underscore).Application Data Table Name (add PS_ prefix)

Carolyn K. Filer Page 119 of 13404/07/23 8:02 PM

Page 120: Tools Notes

TOOL NOTES

Table Build Function Creates data table, indexes on the database using information stored in the PeopleTools tables and System Catalog tables for a specific record definition. (Synchronizes the PeopleTools tables and the System Catalog tables, and the record definition tables to the application data table.)

Creates Tables Views Indexes (done when you build a table)

Modifies Existing Table

Create Table Processes Drop table if it already exists Create Application Data Table

a) Record Definition Parameteri) Record Definition Nameii) Field Name(s)iii) Field Typeiv) Field Length

b) Used on Application Data Tablei) Application Data Table Name (add PS_ prefix)ii) Column nameiii) Column typeiv) Column length

Insert values for NOT NULL Fieldsc) Record Definition Parameter

i) Numeric field(s)ii) Character field(s)iii) Non-character and non-numeric required field(s)

d) Used on Application Data Tablex) Value = zeroxi) Value = blank spacexii) Value = default from record definition

Create Index(es)e) Record Definition Parameter

i) Key field(s)ii) Alternate search key field(s)

f) Used on Application Data Tablei) 1 per tableii) 1 per alternate search key field

Carolyn K. Filer Page 120 of 13404/07/23 8:02 PM

Page 121: Tools Notes

TOOL NOTES

Table Edits Application Designer, Record Field Properties, Edits TabRequiredTable Edit Type5) No Edit6) Table Edit

a) Table Edit Type – Values can be validated in four ways:i) Prompt Table with No Editsii) Prompt Table Edit - a predefined set of valid valuesiii) Translate Table Edit – only one table per databaseiv) Yes/No Table Edit

b) Prompt Table - If you use a prompt table for validation, you must specify the particular table to use.

Tables Made up of Columns Rows

Tables - types System Catalog Tables – indexes, and characteristics of tables and columns

PeopleTools tables – object-related data, such as records, pages, style sheets and menus. Names begin with PS (no underscore).

Application Data tables – contains data created by user. Names begin with PS_.

Temporary Tables Used for batch processing. Used to store specific data to update without risking your main application tabl.e

Test Mode Select Layout, Test mode to toggle between the test mode and development mode. Use test mode to view how the Page will look in production, check the tabbing order, and confirm that fields marked as invisible are not viewed by the user.

Carolyn K. Filer Page 121 of 13404/07/23 8:02 PM

Page 122: Tools Notes

TOOL NOTES

Test Process 1) After creating a new tablea) Add new data to the table.b) Add high-level keyusc) Insert Child rows for each high-level keyd) Insert Effective Dated rows using Update/Display, Update/Display

All, Correction Modes – include current, future, and history rows.e) After adding new data, select update/display – select search button,

verify the number of rows retrieved. (History rows will not be returned in update/display mode)

f) Try and delete an effective dated row (cannot delete current row in Update/Display mode)

g) Now try Correction Mode – change a history row.h) Verify Field Defaults

i) Default Effective Dateii) Default Effective Statusiii) Other Defaults used for check boxesiv) Other Defaults used for radio buttons

i) Test Table Editsj) Test Required Fields – leave a required field blank.k) Check drop-down listsl) Check display/related fieldsm) Verify Check boxes work – on and offn) Verify radio buttons work – turn each on and offo) Test tabbing sequence.p) Test reasonable date validationq) Use Query to verify the content of the data on the table.r) Verify that parent scroll areas controls only those fields from the

parent record.s) Verify that the child scroll area controls only those frields from the

child record definitiion.Through Search Field Application Designer, Record Field Properties, Use Tab

Carolyn K. Filer Page 122 of 13404/07/23 8:02 PM

Page 123: Tools Notes

TOOL NOTES

Translate Table Only one table per database shared by all applications. (XLATTABLE)

To Access File, Object Properties

1) Click the properties toolbar button (man with the hand)2) Right Click a field on a panel3) Right Click a field on a record and select View Translates (only

available on Character fields, with a length of 1-4).

To UpdateThird tab of the Field Properties dialog box – used to add, change, delete values.

Propertiesh) Effective date (1-1-1900)i) Must be a Character Typej) Must be 1 to 4 char long (recommend 4)k) Should contain a small set of values (recommend 30 maximum)l) Has no search capabilities in its dialog box.m) Usually represented by a drop-down list, but can use radio buttons.

Can use an edit box (but is discouraged). n) Used to validate data.

Application Designer, Record Field Properties, Edits TabRequiredTable Edit Type7) No Edit8) Table Edit

a) Table Edit Type – Values can be validated in four ways:i) Prompt Table with No Editsii) Prompt Table Edit - a predefined set of valid valuesiii) Translate Table Edit – only one table per databaseiv) Yes/No Table Edit

b) Prompt Table - If you use a prompt table for validation, you must specify the particular table to use.

In a view, use related display, or drop-down lists box field if you reference a long or short description from the Translate table. This table is cached to a local drive. Performance is better because it can access the data from cache rather than the database.

Translate Values If you alter the short or long names then you need to modify the impacted page definitions.

Carolyn K. Filer Page 123 of 13404/07/23 8:02 PM

Page 124: Tools Notes

TOOL NOTES

Update/Display Set on the Component (Panel Group) Properties, Internet Tab, Toolbar, Selected Toobar Activities.

Retrieves Current, Future data rows Inserts new Effdt > Current Row EFFDT Updates Future rows of data

Most page need the Update/Display Action. Actions are added on the Component (Panel Group) Properties, Use Tab, Action group box.

Update/Display All Set on the Component (Panel Group) Properties, Internet Tab, Toolbar, Selected Toobar Activities.

Retrieves History, Current, Future rows of data Inserts New EFFDT > Current Row EFFDT Updates Future rows of data

All Effective-dated pages need the Update/Display All actions: Actions are added on the Component (Panel Group) Properties, Use Tab, Action group box.

Upgrade Assistant Helps with Upgrade process. Start – Programs – Accessories – Windows ExplorerN:\pt812\setup\upgrade assistantInstall

Upgrade Template – downloaded form Customer Conneection for your upgrade.

Job Status – An upgrade job is created for each upgrade performed. It will execute and log the steps in the Upgrade process.

Upgrade Tab On Projects Workspace of Application DesignerUpgrade Types Types

1) PeopleTools – move to a new PeopleTools release. Must install new software, and involve copying in new PT database objects.

2) Application – move to a new PS application release. Usually involves a PT upgrade.

3) Customization (Selective), move customized and/or selected application components into production. This never invovles PT upgrade.

Upgrades Upgrade is the migration of any object(s) from one PS database to another, and the subsequent adjustment of the PS system to accommodate the new object(s).

Upgrade Release supply you with1) New database2) Information you need to adjust your system components to work with the

new database.a) COBOLb) SQRc) System messagesd) Etc.

Carolyn K. Filer Page 124 of 13404/07/23 8:02 PM

Page 125: Tools Notes

TOOL NOTES

Basic Steps of Upgrade1) Copy the objects into your database2) Adjust your system accordingly.

Typesa) PeopleTools Upgrades –

i) Use Data Mover to install new vanilla databaseii) Peform database inegrity checksiii) Copy the production databaseiv) REL up the tools.v) Load synonymsvi) Upgrade objectsvii) Export/copy other projects using Application Designerviii) Perform the SQL Builds/Alterix) Run SQL Scriptsx) Move the data using Data Moverxi) Make your manual Adjustmentsxii) Establish securityxiii) Test your work

b) Application Upgradesc) Customization Upgrades

Manage the changes that have occurred to each object, allowing you to choose which changes you want applied to your version of the system, and to copy over the selected changes to your database.

Upgrades can mean:1) Upgrade to new PS release2) Upgrade to new Release of your own 3) Move a subsystem from development into production (a custom project).4) Move a single revised page into production

The Upgrade function does not evaluate or copy across1) COBOL2) SQR programs3) SQL scripts4) Mass Change definitions5) Import definitions

Upgrade1) Access the upgrade tools on the source database

a) Must be running in two-tier to use the Upgrade function.2) Create a new Copy Project

a) File, New, Project, Insert, Objects into Project, RecordsObject Type - Related Objects5) Record – Fields, Indexes, Record PeopleCode, SubRecords,

and Translate Values6) Page – Subpages, Secondary Pages, Images, Page PeopleCode7) Component (Panel Group) – Pages, Component PeopleCode,

Component Record PeopleCode, and Component Record Field

Carolyn K. Filer Page 125 of 13404/07/23 8:02 PM

Page 126: Tools Notes

TOOL NOTES

PeopleCode.8) Menu – Menu Peoplecode, and Components

3) Insert all necessary objectsa) Insert, Objects into Project, and change the object type to Component

4) Copy the objects to the Targeta) Tools, Upgrade, Copyb) Signon to Target Databasec) Select Copy Project Identification check box.d) Copy all object types and click copy

5) Verify that the Copy process was successful6) Complete the manual adjustments

a) Attach to the menub) Setup security

7) Build the table8) Move the data from the source database9) Test the page online

OR Copy a Project to a File1) Open the project2) File, Copy Project to File3) Import into database

a) Application designer, File, Copy Project from File.b) Click Copy

URL – Uniform Resource Locator

Idenifies a specific computer

URL Maintenance Utility

Home -> PeopleTools -> Utilities ->Use -> URL Maintenance

Stores all external web addresses. All URL values are stored in the PSURLDEFN record and the URL identifier is the high level key.

Use View Mode – Record Definition

Use Display view – shows key-related characteristics and default values (right click on field name and select Record Field Properties, Use Tab)

a) Search Key – fields used in prompt box for searchb) List Box – fields used in list box

All fields brought into the record definition of a View bring their Use and Edit characteristics with them from the base tables. These attributes should be check to make sure they are applicable to the view. If you don’t remove the defaults, you can get “ghost” rows on your data.

User Ids In order to view Menus / Component (Panel Group)s, there are three areas of security Permission Lists (Class) Roles User Ids

Security setup: User Profile -> Role -> Permission Slips (Class)

Carolyn K. Filer Page 126 of 13404/07/23 8:02 PM

Page 127: Tools Notes

TOOL NOTES

User Profile In order to view Menus / Component (Panel Group)s, there are three areas of security Permission Lists (Class) Roles User Ids

Security setup: User Profile -> Role -> Permission Slips (Class)

Operator Attributes Password Languare Menus Signon Business process Process profile

To Add a new User Profile Home PeopleTools Maintain Security Use User Profiles

Tabs on User Profiles ID General Workflow Roles – Add Roles Audit Adminsitrator Links

Changes to a User Profile will not take effect until you have signed off PS, and then signed back on. The new version will be cached at that time.

User Security Go, PeopleToos, Maintain SecurityControls who has access to PS applications, when it is granted, and the level of functionality within each application.

Validation of Data Values can be validated in four ways:1) Prompt table with no edit2) Prompt table with Edit - a predefined set of valid values3) Translate Table Edit – only one table per database4) Yes/No Table Edit

5) Effective dating – creates historical record of all changes made

If you use a prompt table for validation, you must specify the particular table to use.

Carolyn K. Filer Page 127 of 13404/07/23 8:02 PM

Page 128: Tools Notes

TOOL NOTES

Variable Local Variables – only exist fo the life of a programGlobal Variables – exist for the life of the session.Component Variables – Exist for the life of a Component. Can be used with PeopleCode and PeopleCode Debugger to find out the contents Of the data buffers. In PreBuild Event Local rowset &LEVEL0; &LEVEL() = GetLevel0( );

View Modes – Record Definition

Display (View) modes 5) Field Display view – global attributes defined for fields (right click a field

to view field definition, select View Definition)6) Use Display view – shows key-related characteristics and default values

(right click on field name and select Record Field Properties, Use Tab)a) Search Key – fields used in prompt box for searchb) List Box – fields used in list box

7) Edits Display view – shows all editing options (validation rules) (right click and select Record Field Properties, Edits Tab). Key fields, check box and radio button fields are required. Must enter or have a default value.d

8) PeopleCode Display view

Views A logical way of looking at information in a database. Views hold no physical data: they only store logical criteria. In a view, you can select the rows and columns of data that meet certain conditions, as well as join information from more than one table.

Views are used as search records, to provide additional search criteria, create row-level security, and allow search range processing.

Views are used to create “virtual tables”, based on logical, not physical criteria.

Views can limit the data pulled from a physical table according to set criteria and/or group together related information from multiple logically connected tables.

To create a view within PS, 1) create a record definition. 2) Go to Record Type Tab and select one of three types of record definitions

for views:b) SQL View – an SQL statement. c) Query Viewd) Dynamic View

9) Create SQL and copy it10) Go to Record Properties (if Query View)

a) General tab and paste it into the Record Definition Field.

Uses views for online functions:4) Summary pages5) Search records

Carolyn K. Filer Page 128 of 13404/07/23 8:02 PM

Page 129: Tools Notes

TOOL NOTES

Uses for other functions6) Reporting7) COBOL programs

They do not store physical rows and columns of data. They only store the logical criteria that describes which rows and columns to retrieve from which tables.

Stored in System Catalog tables.

When a view is created, a row of data is generated on the system catalog table SysObjects. SQL user tables are indicated with a type of U, whereas views have a type of V.

The colunns in a view are stored in rows of data on Syscolumns, just like a table.

By using sp_helptest you can see the columns sotred for a view. i.e., sp_helptest TECH_EMPL_VW

You must specify a key structure for a view. This is needed to retrieve the correct data. The key structure should uniquely identify a row of data.

You should only specify search keys, alternarte search keys, and list box items if you plan to build a search dialog box based from the view (i.e, you are going to prompt against the view, or use the view as a search record.)

You should remove the required attributes and defaults for views.

If the view is to be used as a search record it’s name should be suffixed with _SRCH. Otherwise it should end with _VW.

A view needs a key structure, even if it is not a physical table.

Within a View, only specify search keys, alternate search keys, and lists box items if a search dialog box is going to be built within it.

Views store select statements, inclding joins, which are executed at run-time.

Views used online in PeopleSoft must have an associated record of definition.

SQL Views require you to type in the SQL select statement manually.

Allow users to enter data for a field in one location only to insure data integrity. Make use of this field on other records display only (or use display only views)

It is a standard for Level 0 to always point to a physical SQL table (not a view)

Carolyn K. Filer Page 129 of 13404/07/23 8:02 PM

Page 130: Tools Notes

TOOL NOTES

Avoid using related fields. Instead join the table with the desired related field in your SQL statement. Because the application processor won’t have to retrieve related display fields when populating pages, it provides better system performance.

All fields on a Summary Page should be display-only, because the view upon which the page is based does not store any data. It is a standard to not update data through a view.

In a view, use related display, or drop-down lists box field if you reference a long or short description from the Translate table. This table is cached to a local drive. Performance is better because it can access the data from cache rather than the database.

A view used as a search record (_SRCH), should have a dialog search box that looks the same as the original base record. Each should have the same search keys, alternate search keys and list box items in the same order. The order of alternate search keys within the search dialog box will be th same as their order on the record definition.

When Security Views are used as search records or search record prompts in applications, row-level security is in effect. In other words, row-level security is implemented through views.

By placing a prompt table edit on a field, you force the user to enter a value from a predefined specified list. Sometimes, you want the user to only have a certain selection of the values. Rather than prompting against a physical application data table, you can specify a view as the prompt table, which only returns certain rows of data

Using views to provide additional search criteria requires joining two or more tables.

Search views used for row-level security use a Where clause in the Select statement to exclude a set of rows from the search dialog box.

Views – Dynamic Stored on the client and executed as a SQL Select statement at runtimeViews - Naming Convensions

If the view is to be used as a search record it’s name should be suffixed with _SRCH. Otherwise it should end with _VW.

Views - Query SQL is generated by the PS Query toolViews - SQL Views of single/multiple tables with additional selection critieria

Warning Statement Informs the user of a data that may be invalid. Warnings allow processing to continue.

Web Design Tips Screen resolution should be be no less than 800 x 600 Keep it simple SuperDesigner Modular Design – separage pages (tables) to subject matter. Navigation – Keep it simple

Carolyn K. Filer Page 130 of 13404/07/23 8:02 PM

Page 131: Tools Notes

TOOL NOTES

Web Serve/Application Security

1) Relays data back and forth between browser and application server. 2) It handles encryption, and manages connections between browsers.3) Cache and serve up images, style sheets, and Java sscripts.4) Manages user’ state or page buffers. No logic performed to the state5) It sends the state information to the applciation server only when it is

needed.

Controls access to system objects and resources Assigned Ids and passwords System event audits Insualtion of objects assigned to processes

Web Server A Java-enabled web server is required to support browser transaction requests and the application messaging technology. You install on the web server a collection of PeopleSoft Java servlets designed to handle a wide range of PeopleSoft transactions.

Where Where statement in an SQL is equivalent to the criteria entered in a queryWorkFlow Design your workflow application

Define Roles and Role Users Define the Worklist Record Modify the Triggering and Target Object Definitions Define the Workflow Objects Define the Event Trigge Test the Business Process

Workspace – Application Designer

WorkSpace:1. Project Workspace – displays all the development objects relating to a

project. Development Tab – used to create and modify application objects. Upgrade Tab

2. Object Workspace – used to create, view, and modify object definitions.3. Output Window – used to view the results of application designer

operations.

Carolyn K. Filer Page 131 of 13404/07/23 8:02 PM

Page 132: Tools Notes

TOOL NOTES

Yes/No Table Edit Typically represented by a check box On position – when user selects the box. Yes is usually the on posiition No is usually the off position

Requikred field, since it must be validated.

On the Application Designer, Page Field Properties you can select the default value to be assigned to that field. (9-6). If this value is selected this value will be written to the designated Application Data table and column.

Application Designer, Record Field Properties, Edits TabRequiredTable Edit Type6) No Edit7) Table Edit

a) Table Edit Type – Values can be validated in four ways:i) Prompt Table with No Editsii) Prompt Table Edit - a predefined set of valid valuesiii) Translate Table Edit – only one table per databaseiv) Yes/No Table Edit

b) Prompt Table - If you use a prompt table for validation, you must specify the particular table to use.

Possible Error Messages Invalid On/Off check box value

Confirm that on/off values are assigned for yes/no edits in the Page field properties

SecurityTo Add a new User Profile Home PeopleTools Maintain Security Use User Profiles

Tabs on User Profiles ID General Workflow Roles – Add

Roles Audit Adminsitrator Links

Add a new Role Go PeopleTools Maintain Security Use Roles

Role Tabs General Members Dynamic Members Permission Lists

(Class) – add Permission Lists (Class)

Workflow Role Grants Links

To add Permission (Class) List Go PeopleTools Maintain Security Use Permission Lists (Class) Add

Permission Lists (Class) Tabs General Tab – Description Pages Tab – Add Menu

name, or select a Component (Panel Group) to edit

PeopleTools Tab Process TabSign-on Times Tab

Menus

Carolyn K. Filer Page 132 of 13404/07/23 8:02 PM

Page 133: Tools Notes

TOOL NOTES

There are several kinds of file output types that you can choose for your process. The following table shows a list of file output types listed by process type. The default output type for Crystal and nVision processes is HTML. The default output type for SQR is Adobe Acrobat (.pdf). COBOL and Application Engine processes defaults will create output in the log file.

File type Crystal SQR NVision

Excel (*.xls) X X

Word (*.doc) X

Acrobat (*.pdf)(Must have Acrobat Reader installed to read these files.)

X

HP Format (*.lis) X

Line Printer (*.lis) X X

Rich Text Files (*.rtf) X

SQR Portable Format (*.spf) X

Text Files (*.txt) X

Post Script Files (*.lis) X

Crystal Reports (*.rpt) X

Comma Delimited (*.csv) X

HTML (*.htm) X X X

Note. You must have Adobe Acrobat Reader installed on your workstation to be able to read Acrobat (.pdf) files.

Abbr Page RF CRF CR C FunctionActivate XFieldChange FCh X XFieldDefault Fde X XFieldEdit Fed X XFieldFormula Ffo XPostBuild XPreBuild X

Carolyn K. Filer Page 133 of 13404/07/23 8:02 PM

Page 134: Tools Notes

TOOL NOTES

Abbr Page RF CRF CR C FunctionPrePopup* X XRowDelete Rde X XRowInit Rin X XRowInsert Ris X XRowSelect Rse X XSaveEdit Sed X XSavePostChange Spo X X XSavePreChange SPr X X XSearchInit SrI X XSearchSave SrS X XWorkflow Wrk X X

Carolyn K. Filer Page 134 of 13404/07/23 8:02 PM