104264086 Peoplesoft App Designer

Download as pdf or txt
Download as pdf or txt
You are on page 1of 56

Agenda

• Introduction

• PeopleSoft Database Tables

• Application Designer Overview

• 9 Steps in Designing an Application

• Test Application

• Message Catalog

• Language Independence
PeopleSoft Database Tables

• People Tools-based applications are table-based systems.


• A database for a PeopleTools application contains three major
sets of tables:
– System Catalog tables store physical attributes of tables and views,
which your database management system uses to optimize
performance.
– PeopleTools tables contain information that you define using
PeopleTools.
– Application Data tables house the actual data that your users
enter and access through PeopleSoft application pages.
Application Designer Overview
Areas in AppDesigner
• Title bar Displays the name of the open project and active
object definition.
• Menu Provides access to Application Designer commands
and features.
• Toolbar Displays buttons useful in editing the active object.
• Project workspace A graphical representation of the components
contained in a project. The project workspace window
has two folder tabs representing the Development
View and the Upgrade View.
• Object workspace Displays individual objects you open.
• Output window Contains the output text from Application Designer
operations, such as Build (SQL Create and Alter), Find
Object References, Upgrade, Results, Validate, and
PeopleCode Log.
Nine Steps to Application Design

1. Design the Application 9. Test Application

2. Define New Fields 8. Enable Security

3. Create Record Definition 7. Create Menu Definition

4. Build SQL Table 6. Define Component

5. Create Page Definition


Design the Application
Identify required data and understand how it is related to existing data

• Evaluate how the data should be stored(record defn)


• Design the online user interface(page defn)
• Establish rules how data should be retrieved(component defn)
• Determine how the users are to launch the application(menu defn)
• Identify security restrictions(security defn)
Define New Fields
Fields are the basic building blocks in your PeopleSoft
system. They represent columns in a table or view.
• Each field definition includes attributes such as data type, field
name, long name, short name, field length, and various
formatting values.
• Field Types
• Character Fields
• Long Character Fields
• Number Fields
• Date Fields
• Time Fields
• DateTime Fields
• Image Field
• ImageReference Field

• We Can also use the existing Field Definitions.


• Use Translate Tables
• Set Custom Field Formats
Translate Table
• It is a Data dictionary for fields not having individual PROMPT tables
• 1 per dB, predefined set of valid values
• Stored on app server for fast data access
• On clicking the prompt icon directly a list box with valid values
appears
• Eff dated 01/01/1900, eff status also, xlatlongname, xlatshortname,
fieldname, value (1-4 char)
• As a general rule, you should store field values on the Translate
Table, if the field meets the following criteria:
• Field Type is Character.
• Field Length is 1 to 4 characters.
• Field Values consist of a relatively small, static set of values not maintained by
the user.
• No other fields are related to this field.
Create Record Definition
• Fields that are grouped together as a unit are record
definitions.

• A record definition represents what the underlying SQL


database tables look like and how they process data.

• The Record Type is to be mentioned in Record Definition.

• List of Fields required are Build into a Record.

• There are three ways to insert a field into a record


• From the Project Workspace Tree
• From the Insert Menu (Insert, Field)
• Drag and Drop from existing records.
Record Types
Sql View
Sql Table

Query Views

Sub Record Record Definition


Dynamic Views

Derived Work Record Temporary Table


Record Types
• SQL Table

– Defines a record definition that will have a corresponding physical SQL


table on the database.
– You create this table when you run the Build Operation on the Build
menu.
– This is the default setting.

• SQL View

– Defines a record definition that corresponds to a SQL view


– It is not a physical SQL table on the database, but rather fields
reorganized into a different sequence
– Offers an alternate view of information stored in tables.
Record Types
• Dynamic View

– Defines the record definition that can be used like a view


in pages and PeopleCode
– Actually not stored as a SQL View in the database.
– Instead, Component Processor uses the view text as a base
for the SQL SELECT that is executed at runtime.

• Query View

– Defines the record definition as a Query View—a view


constructed using PeopleSoft Query tool.
Record Types
• SubRecord

– Defines the record definition as a subrecord


• a group of fields commonly used in multiple record
definitions
• you can add to other record definitions.

– This way you can make any changes to the group


of fields in one place, as opposed to on each
record definition the group of fields is used.
Record Types
• Derived/Work Record

– Defines the record definition as a temporary workspace to be used


during online page processing.
– A derived/work record is not stored on the database, so you do not
Build it.

• Temporary Table

– Defines the record definition as a temporary table.


– Temporary tables are used for running Application Engine batch
processes.
– Temporary tables can store specific data to update without risking
your main application table.
Record Properties - Use Tab
• The Use tab of Record Field Properties allows
you to specify how a field is used within a
record definition.
• For example,
– is the field a key in the record;
– a listbox item;
– what are the default values;
– should there be audits;
– and so on...
Record Field Properties Use Tab
Keys
• Record keys will uniquely identify each row.

• Records with Duplicate Order Keys

• Occasionally, you may encounter situations


where a unique identifier for each row does not
exist.

• Duplicate Order Keys are a way of "ordering" data


in the table when duplicate values are allowed.
Alternate Search Keys
• Alternate Search Key identifies the field as a key
that provides an alternate path into the table
data.

• Duplicate values are allowed in an alternate


search key field.

• If you define a field on a search record as an


alternate search key, when you bring up a page,
the system prompts you to enter a key or
alternate search key values.
Descending Keys
• Identify the field as a Descending Key if you want rows of data to be
retrieved in 3-2-1 or C-B-A order.

• If you leave this option turned off, the key is an ascending key—
meaning that rows are stored and retrieved in 1-2-3 or A-B-C order.

• This option applies only to a field specified as a key, duplicate order


key, or alternate search key.

• The default order is ascending.

• We use descending order primarily for Effective Date fields.

• Most Character keys are ascending


Search Keys
• When you specify a Search Key, the field will
be available in the Basic Search page.

• A Search Key is valid only for keys and should


be used only on search records.

• With a Search Key checked, the system


automatically turns on the List Box Item.
Record Properties - Edit Tab
• The Edits tab allows you to specify whether
the system is to perform special edits or
validations on a record field.

• You also name the record definition for the


prompt table that stores valid values
Record Field Properties Edit Tab
…cont’d
• Required
– Check this if you don't want users to skip a field or leave it blank.
– Users will not be able to save their work until they complete all the
required fields on a page.

• No Edit
– Does not edit the contents of this field on any table.
– The default is No Edit, which grays out any options in the Table Edit
group box.

• Table Edit
– Edits the contents of the field against the values maintained in the
specified table.
– When you select Table Edit, the system activates the Type field in the
Table Edit group box.
…cont’d
• Prompt Table with No Edit

– Provides users with a list of suggested values


– But does not edit the contents of the field against the Prompt Table.
– Users can enter any value.
– Selecting this option activates the Prompt Table field.
• Prompt Table Edit

– Edits the contents of the field against the values maintained in the
specified Prompt Table.
– Selecting this option activates the Prompt Table field.
– When you enter a Prompt Table name and tab out of the field, Set
Control Field is also activated.
…cont’d
• Translate Table Edit

– Edits the contents of the field against the Translate Table.


– The Translate Table is a table that stores values for fields that need to
be validated but don't need individual tables of their own.
– If you select this option, Prompt Table and Set Control Field are grayed
out.

• Yes/No Table Edit

– Makes the only valid values for this field Y for Yes and N for No.
– If you select this option, Prompt Table and Set Control Field are grayed
out.
Build SQL Table
Build Options
• Create Tables.
– Select this option to create tables for your build project. When
you select this option, then, by default, Create Indexes will
automatically be selected. You cannot deselect Create Indexes if
you select Create Tables.
• Create Indexes.
– Select this option to create indexes for your build project.
• Create Views.
– Select this option to create views for your build project.
• Alter Tables.
– Select this option to alter existing tables. When you select this
option, then, by default, Create Indexes will automatically be
selected; however, using this option, you can deselect Create
Indexes.
…Build Options
• Build script file.
– The advantage to using this option is that you can review and update the SQL
prior to executing the script.
– This is the safest method.

• Execute SQL now.


– The advantage in using this option is that it's not necessary to invoke another
program to run the SQL; the SQL runs as part of the Build process.
– The disadvantage with running the SQL immediately is that you have no
opportunity to review the SQL prior to it being committed to the database.

• Execute and build script.


– The advantage of this option is that you can review the SQL that the Build
process just ran
Build Settings - Create Tab
…Build Settings
• Create
– Specify your Create Table and Create Views options.
• Alter
– Specify your options when running Alter Tables.
• Logging
– Specify the logging level and where you would like the
output log file to be placed.
• Scripts
– You can choose the format of your script file and the
name and location of the file that the build process
generates.
Create Page Definition
• They are a graphical user interface between
the end user and your application database

• You can add controls to your page definition


by the following:
– Dragging and dropping a field definition (or record
field in your project workspace) into a page
– Using the page definition toolbar
– Using the insert menu.
Page Controls
• Text, Frame , Groupbox, Static Image, Edit box,
Drop down list, long edit box, Check box,
Radio Button, Image, Scroll Bar, Sub page ,
Push button hyperlink, secondary page, Tree
Control, Grid control horizontal rule, HTML
Area, Scroll Area, Microsoft Chart Control,
Microsoft Image List, Microsoft Tree View.
Tab Name
Page Field
Description
Properties
• Record Associates the page control with a field in a record
definition
• Label Sets the label that you want to appear on the control, if any.
This can be the long or short name specified on the record
definition, or other text. Here is where you verify the Label
ID
used as the internal reference.
• Use Defines how you want the control to be used on the page.
You can make controls display only, invisible, hidden or use
them to manipulate other controls on multiple level pages -
those with scroll bars. Here is where you define the display
and related control fields as well as the processing of the
control.
• General Specifies an optional internal Page Field Name that is
referenced by the page.
Page Field Properties - Record Tab
Page Field Properties - Label Tab
Page Field Properties - Use Tab
Level Based Controls
• There are four levels allowed in level-based controls: Level 0, Level
1, Level 2, and Level 3.
• These levels are referenced as Occurs Levels in the Page Field
Properties, Record tab for the level-based control that you are
setting.
• Level 0.
– This is the non-scrolling area that directly relates to the underlying
record's key information.
– Level 0 information is usually display-only with data the user entered
on the initial search page.
• Level 1-3.
– These levels include the scrolling data related to the Level 0, non-
scrolling data.
– Level 1 is subordinate to Level 0; Level 2 is subordinate to and nested
in Level 1; and Level 3 is subordinate to and nested in Level 2.
...Level Based Controls
• You can nest level-based controls up to 3 levels.

• The first Occurs Level on a page is Level 0

• This Level is reserved for the primary key fields


that are used to search for pages.

• It is possible to have a page that contains no


level-based controls, making all fields set to the
Level 0.
Define Component
• Components are the bridge between pages and menus.
• Once you have created your pages, you must add them to one or
more components in order to use them on menus or in business
processes.
• A component represents a complete business transaction.
• It can be composed of either a single page or a set of pages that
should be processed as they were one. Think of it as working
through a transaction in several displays.
• Component definitions control:
– The grouping of pages and their associated tab labels.
– The search record used to retrieve data into the page.
– Access keys for folder tab navigation.
– Hyperlinks at bottom of page.
– Toolbar
...Components
• The component definition and the menu
definition combine to create a pathway to and
data context for your page.
• Component Definition Window
– The component definition window has two tabs,
Definition and Structure, which provide two
distinct and different views of a component.
...Components
• Page Name
– This column contains the name of the page definition.
– It is read-only.
– If you rename the page, this column will be updated automatically.
• Item Name
– This column contains a name for each item (page) in the component.
– This name must be unique within the component.
– The default value is the page name.
– This name is for informational purposes only.
– If you use the same page on more than one component, you might want to change the Item
Name to more closely reflect the purpose of the page within the component.
• Hidden
– This column specifies whether the page can be viewed by the user at runtime.
– Pages are usually hidden when used in work groups, or associated with derived/work records.
– The page's information needs to be loaded into the buffer in order for PeopleCode to perform
calculations, but the user does not need to see it.
...Components
• Item Labels
– The Item Label serves as the default folder tab label unless a
different Folder Tab Label is specified.
– The Item Label should be unique for each page within a single
component menu.
– The Folder Tab Label is usually used when shorter names are
needed to keep the display down to one row of folder tabs.

• Allow Deferred Processing


– The Allowed Deferred Processing column status indicates
whether deferred processing has been turned off or on at the
Page Properties level.
– It is read-only.
Search Records – Component
Properties
• The Search Record controls access to rows of data in a table.
• The keys and alternate search keys from the Search Record will be
presented to the user on the search page as choices of fields to
search by.
• The Search Record field populates the high-level key fields on a page
(level 0 in a page definition).
• These key fields usually appear above a scroll or on the page, and are
typically display only.
• The search record for a component may differ from any given page's
primary record definition, and may contain any number of search
keys, but it must contain all the keys for each page's main level 0
record.
Create Menu Definition
• A menu definition creates the path to a component.

• Every menu is attached to a menu group.

• A menu item can represent a component, PeopleCode,


or a separator line.

• Drag a component definition from a project to the


menu item dotted rectangle to add a menu item.
...Create Menu Definition
Enable Security
• Permission Lists are the building blocks of your end user security authorizations.

• Before you begin defining your User Profiles and your Roles, you typically want to create your
inventory of Permission Lists.

• When defining Permission Lists, consider each type of Role and User Profile to which they will
be attached.

• A Permission List may contain any number of the following permissions, including sign on times,
page permissions, component interface permissions, and so on.
Enable Security
Home > PeopleTools > Maintain Security > Use > Permission Lists
Menu Permission
...Enable Security
Home > PeopleTools > Maintain Security > Use > Permission Lists
Component Permission
...Enable Security
Home > PeopleTools > Maintain Security > Use > Permission Lists
Page Permission
Test Application
• Test a page by adding, deleting and modifying
data, and confirming default values and prompt
lists

• Use your DBMS query tool to confirm that data is


written to the database as desired

• Troubleshoot pages and tables by using the


definition printouts and System Catalog tables, if
necessary
Message Catalog
Advantages

• Central Repository of the Messages.


• Easy to Maintain.
• Easy to Debug.
• Language Specific.
• Categorize and select the severity of the Messages.

Path
• Home > PeopleTools > Utilities > Use > Message
Catalog
…Message Catalog

Language Independence
If you plan to maintain multiple language versions of your application
data, you will create two record definitions for each table:
– The master record definition, which will contain all the appropriate key
and non-key field definitions.
– A clone of the master record definition to which you add an additional
key for Language Code.
– This is the Related Language Record definition.
– This related language record definition should contain only those non-
key fields whose contents vary by language.
– You link the two record definitions by specifying the name of the
related language record definition in the Use Tab of the master record
definition Properties.
• At run time, the system looks at the operator's language preference
and retrieves the data value from the appropriate related language
record definition.
Example
Department
Dept_cd Dept_Head
01 Ali
02 Ritesh

Department_Lang
Dept_cd Lang_cd Dept_Desc
01 English Sales
01 German Vertrieb
02 English Purcahse
02 German Einkauf
...Language Independence
THANK YOU

You might also like