You are on page 1of 56

Introduction

Agenda

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

It is a Data dictionary for fields not having individual PROMPT tables 1 per dB, predefined set of valid values

Translate Table

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 Table Sql View 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.

Dynamic View

Record Types

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 Viewa 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.

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.

Descending Keys

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

contd
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.

contd
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.

contd
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 Record definition Label ID Use

Page Field Properties Description


Associates the page control with a field in a record 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 used as the internal reference. 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. Specifies an optional internal Page Field Name that is referenced by the page.

General

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, nonscrolling 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.

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.

Search Records Component Properties

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.

Home > PeopleTools > Maintain Security > Use > Permission Lists

Enable Security

Menu Permission

Home > PeopleTools > Maintain Security > Use > Permission Lists

...Enable Security

Component Permission

Home > PeopleTools > Maintain Security > Use > Permission Lists

...Enable Security

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

Advantages

Message Catalog

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 nonkey 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 01 English 01 German 02 English 02 German

Dept_Desc Sales Vertrieb Purcahse Einkauf

...Language Independence

THANK YOU

You might also like