peoplesoft App Designer

Post on 30-Jul-2015

810 views 6 download

Tags:

Transcript of peoplesoft App Designer

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.

1. Design the Application

2. Define New Fields

3. Create Record Definition

9. Test Application

8. Enable Security

7. Create Menu Definition

6. Define Component

5. Create Page Definition

4. Build SQL Table

Nine Steps to Application Design

Design the ApplicationIdentify 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 FieldsFields 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

Record Definition

Sql Table

Sub Record

Derived Work Record

Temporary Table

Dynamic Views

Query Views

Sql View

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.

Page Field PropertiesTab Name Description• 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 SecurityHome > PeopleTools > Maintain Security > Use > Permission Lists

Menu Permission

...Enable SecurityHome > PeopleTools > Maintain Security > Use > Permission Lists

Component Permission

...Enable SecurityHome > 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 CatalogAdvantages

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

ExampleDepartmentDept_cd Dept_Head 01 Ali 02 Ritesh

Department_LangDept_cd Lang_cd Dept_Desc 01 English Sales 01 German Vertrieb 02 English Purcahse 02 German Einkauf

...Language Independence

THANK YOU