Thursday, March 31, 2011

To add embedded help to page controls

 

1.   Open a page definition.

2.   Double-click the scroll area or grid to access the properties dialog box.

3.   Click the Label tab.

4.   In the Embedded Help Popup section, select the Message Catalog Popup option.

5.   Enter the Message Set/Number values of the message that you want to appear in the embedded help pop-up page.

The message should appear in the Text field.

6.   Verify that the message in the Text field is correct.

7.   Click the OK button.

8.   Save the page definition.

9.   In the browser, access the page and test the embedded help

New User Interface features of PeopleTools 8.51

1. Smart Navigation

  • Hierarchical data navigation(e.g Trees) using the menu or Chart Navigation
  • Search results can persisted in menu for easy reuse
  • Related Action (Contextual Popup menus) : Relate additional information to page fields.

2.  Related Content Improvements

    • Support for Level 1,2 and Hidden Fields.
    • Related action content can be shown in Related Content frame

3.  Modal Secondary Page Improvements

    • Facilitates showing a variety of secondary pages in modal popup

4. Embedded help pop-up for Group box, Grid & Scroll Area

    • Help icon beside label for  embedded help

5. WorkCentre (framework)

    • Enable Application teams and customers to build role-based launching pads

6.  Org Chart Improvements

    • Rounded corners on nodes
    • Curved connecting lines
    • Alternative scrolling method
    • Better 3D rendering (openviz)

Monday, March 21, 2011

GenerateComponentContentURL

The below sample PeopleCode can be used for Generate Component Content URL.

If All(SCH_MGR_SRCH_VW.EMPLID.Value) Then
Local string &URL;
&URL = GenerateComponentContentURL(%Portal, %Node, MenuName.ROLE_MANAGER, "GBL", Component.TL_MGR_USER_PREF, Page.SCH_EE_PREF, "C", SCH_MGR_SRCH_VW.EMPLID);
ViewContentURL(&URL);
End-If;

Friday, March 18, 2011

PSPCMPROG - Table stores PeopleCode of the objects | Explanation

Below information about the table that stores PSPCMPROG the PeopleCode of objects.
PSPCMPROG -
Key Fields :OBJECTID1, OBJECTID2, OBJECTID3, OBJECTID4, OBJECTID5, OBJECTID6, OBJECTID7
ObjectID values reference

1Record
2Field
3Menu
4Bar Name
5Item Name
9Page
10Component
12Event
20Database Type
21Effective Date
39Market
60Message
66Application Engine Program
74Component Interface
77Section
78Step
87Subscription
104Application Package
105Class
106Class
107Class

Key Fields: OBJECTVALUE1, OBJECTVALUE2, OBJECTVALUE3, OBJECTVALUE4, OBJECTVALUE5, OBJECTVALUE6, OBJECTVALUE7
Refers to object name.
Key Field: PROGSEQ
Refers to Program sequence number
Non Key Fields:
VERSION                 Version 
NAMECOUNT           ?? 
PROGLEN                 PeopleCode Program Length 
PROGRUNLOC           Program Run Location 
PROGFLAGS             ?? 
LICENSE_CODE         License Code 
LASTUPDDTTM         the date and time of the last update to the entry
LASTUPDOPRID        the OPRID which made the last update to the entry 
PROGEXTENDS         ?? 
PROGTXT                 PeopleCode Program

Monday, March 14, 2011

Changing/Selecting Grid value based on Condition

The following PeopleCode can be used to change the grid value based on condition.

Local Rowset &rsGrid, &rsDataSource;

&rsGrid = GetLevel0().GetRow(1).GetRowset(SCROLL.TEST_VW);
&rsGrid.Flush();

&rsDataSource = CreateRowset(Record.TEST_VW);
&rsDataSource.Flush();
&rsDataSource.Fill(" WHERE EMPLID = :1 AND EMPL_RCD = :2 " &sEmplId,&nEmplRcd);
&rsDataSource.CopyTo(&rsGrid);

 


The following code can be used to Select grid value based on FieldChange(any condition) event.

&LVL1 = GetLevel0().GetRow(1).GetRowset(Scroll.PER_CHECKLIST);
&LVL2 = &LVL1(CurrentRowNumber()).GetRowset(Scroll.PER_CHKLST_ITM);

If &LVL2.ActiveRowCount = 1 And
&LVL2(1).IsNew And
Not &LVL2(1).IsChanged Then
Else
For &i = &LVL2.ActiveRowCount To 1 Step - 1
&LVL2.DeleteRow(&i);
End-For;
End-If;

If All(PER_CHECKLIST.CHECKLIST_CD) Then

&LVL2.SelectNew(Record.CHECKLIST_ITEM, "WHERE CHECKLIST_CD = :1 and EFFDT = (SELECT MAX(A.EFFDT) FROM PS_CHECKLIST_ITEM A WHERE A.CHECKLIST_CD = PS_CHECKLIST_ITEM.CHECKLIST_CD AND A.EFFDT <= %DateIn(:2))", PER_CHECKLIST.CHECKLIST_CD, PER_CHECKLIST.CHECKLIST_DT);

End-If;

Wednesday, March 9, 2011

Dynamic Prompt / Edittable Prompt

The following steps help to make Dynamic prompt (Edit Table Prompt).

Lets consider a scenario, based on selection Criteria the Character value prompt need to change.

For Department Character value prompt should be DEPT_TBL and for Job Code the Character value prompt should be JOBCODE_TBL.

image

Now consider the design.

image

The Selection Criteria, Character Value, Process are fields in SQL Record (May change in different case) and Edit Table(EDITTABLE field) is from DERIVED (delivered) derived and work record.

in the above  example your need a record(e.g GR_CRI_TBL) has following fields

SELECTION_TYPE

CHAR_VALUE

PROCESS

CHAR_VALUE should have %EDITTABLE Prompt Table Edit Type

image

Write the following function in any FIELDFORMULA and call the function as given below.

Local string &Type;
Function hide_unhide_popfields(&Row As Row);
&Type = &Row.GetRecord(Record.GR_CRI_TBL).SELECTION_TYPE.Value;
Evaluate &Type
When "D" /* Department */
&Row.GetRecord(Record.DERIVED).EDITTABLE.Value = Record.DEPT_TBL;
Break;
When "J" /* Job Code */
&Row.GetRecord(Record.DERIVED).EDITTABLE.Value = Record.JOBCODE_TBL;
Break;
When "L" /* Location */
&Row.GetRecord(Record.DERIVED).EDITTABLE.Value = Record.LOCATION_TBL;
Break;
End-Evaluate;
End-Function;
Call the above function based on FieldChange and RowInit.
 
Declare Function hide_unhide_popfields PeopleCode GR_CRI_TBL.SELECTION_TYPE FieldFormula;
SetDefault(GR_CRI_TBL.CHAR_VALUE);
hide_unhide_popfields(GetRow());




Thursday, March 3, 2011

Person Model Setup Tables

Person of Interest Type Setup Table

1. POI_TYPE_TBL : This setup table holds the definition of the person of interest types.

Component: POI_TYPE_TBL

Navigation: Set Up HRMS, Foundation Tables, Organization, Person of Interest Type

Note: You can make any of the delivered types inactive ( except the Unknown type) , change the descriptions, and add additional types.

Person Object Installation Setup Table

2. INSTALL_PERSON: This setup table is used define how (or if) the person checklist feature will be used within PERSONAL_DATA and also whether an automatic search/match of possible duplicate people will be done when you save a person.

Note: There will be only one row in INSTALL_PERSON

Component: INSTALL_PERSON

Navigation: Set Up HRMS, Install, Person Object Installation

JOB Actions

3. ACTION_TBL: This setup table contains the actions that are available in the JOB pages.

Component: ACTION_TBL

Navigation: Set Up HRMS, Product Related, Workforce Administration, Actions

Note: ACTION_STAT_TBL - This setup table contains the rules for status and validation of actions that are available in the JOB pages

PERSONAL_DATA Snapshot Reporting Table

4. PERSON_DT_SETUP: This setup table which defines what fields will be maintained in the PERSONAL_DATA snapshot table.

Component: PERSON_DT_SETUP

Navigation: Set Up HRMS , System Administration, Database Processes, PERSONAL_DATA Settings

Note: ACTION_STAT_TBL - This setup table contains the rules for status and validation of actions that are available in the JOB pages.

Tuesday, March 1, 2011

Query To Find All Records under a specified component

Following is the query that can be useful to find out all records under a specified component.

 

SELECT DISTINCT (recname)
FROM psrecdefn
WHERE recname IN
(SELECT DISTINCT (recname)
FROM pspnlfield
WHERE pnlname IN
(SELECT DISTINCT (b.pnlname)
FROM pspnlgroup a, pspnlfield b
WHERE (   a.pnlname = b.pnlname OR a.pnlname =b.subpnlname)
AND a.pnlgrpname = 'Component Name'                 -- specify your component name)
AND recname <> ' ')
UNION
SELECT DISTINCT (recname)
FROM pspnlfield
WHERE pnlname IN
(SELECT DISTINCT (b.subpnlname)
FROM pspnlgroup a,pspnlfield b
WHERE (a.pnlname = b.pnlname OR a.pnlname = b.subpnlname )
AND a.pnlgrpname = 'Component Name')               -- specify your component name)
AND recname <> ' ')
AND rectype = '0'                                                 -- specify record type
order by recname asc

 

Note: 0 is a record type of Sql Table.