Select All function for Grid Check boxThe below function is to be used on a grid with multiple check boxes. Place the code behind a FieldChange event and users will have the option to Select or Deselect grid rows all at once. Function selectAllRows(&rs As Rowset) Local number &i; Local Row &row; For &i = 1 To &rs.ActiveRowCount &row = &rs.GetRow(&i); /* Make sure we only select visible rows. */ If &row.Visible = True Then &row.Selected = True; End-If; End-For; end-function; /*main line*/ Local Rowset &rs; &rs = GetLevel0()(1).GetRowset(Scroll.scroll_table); /*Call Function*/ selectAllRows(&rs); The same code would work for multiple check boxes "Deselect All", just change the name of the function and line &row.Selected = True; to &row.Selected = False; Note : Make sure the Multiple Row (Check Box) is checked on the grid properties.

Select All function for Grid Check boxThe below function is to be used on a grid with multiple check boxes. Place the code behind a FieldChange event and users will have the option to Select or Deselect grid rows all at once.  Function selectAllRows(&rs As Rowset)    Local number &i;    Local Row &row;        For &i = 1 To &rs.ActiveRowCount       &row = &rs.GetRow(&i);       /* Make sure we only select visible rows. */       If &row.Visible = True Then          &row.Selected = True;       End-If;    End-For; end-function;  /*main line*/ Local Rowset &rs; &rs = GetLevel0()(1).GetRowset(Scroll.scroll_table);  /*Call Function*/ selectAllRows(&rs);     The same code would work for multiple check boxes "Deselect All", just change the name of the function and line &row.Selected = True; to &row.Selected = False;     Note : Make sure the Multiple Row (Check Box) is checked on the grid properties.
The below function is to be used on a grid with multiple check boxes. Place the code behind a FieldChange event and users will have the option to Select or Deselect grid rows all at once.
Function selectAllRows(&rs As Rowset)
   Local number &i;
   Local Row &row;
 
   For &i = 1 To &rs.ActiveRowCount
      &row = &rs.GetRow(&i);
      /* Make sure we only select visible rows. */
      If &row.Visible = True Then
         &row.Selected = True;
      End-If;
   End-For;
end-function;

/*main line*/
Local Rowset &rs;
&rs = GetLevel0()(1).GetRowset(Scroll.scroll_table);

/*Call Function*/
selectAllRows(&rs);

The same code would work for multiple check boxes "Deselect All", just change the name of the function and line &row.Selected = True; to &row.Selected = False;

Note : Make sure the Multiple Row (Check Box) is checked on the grid properties.

Disable Browser Caching in PeopleSoft

Disable Browser Caching in PeopleSoft
Going through the alliance presentation, just came across the point: Disabling Browser Caching in PeopleSoft. Got the below information from learnpsdba blog.

A browser will cache various pages and states in memory to increase performance. It may be necessary to disable these performance features on the browser for security reasons. Note that once caching is disabled, the Back button on the browser stops working in PIA.
To disable caching:
1. In PIA, navigate to PeopleTools, Web Profile, Web Profile Configuration.
2. Select the web profile that you want to configure; for example, PROD.
3. Select the Caching page.
4. Make sure that the "Cache Generated HTML" and "Cache Homepage" check boxes are both cleared.
5. Save your changes

Peoplesoft Navigation of the setup components. - In simple query.

PS_PTLT_COMP_NAV – Define Components Navigation Setup record. - The record stores the PTLT_TASK_CODE which is the component name followed by the market name “.GBL”/Global extension

There is a catch –It doesn’t work for the transaction components like JOB_DATA.
This record is used in setup manager and hence doesn’t have details for the transactional components.



Below query gives for all tables (including hidden).. based the level of navigation (for example Main Menu --> Careers, for this two tables should be joined.. so if you are not getting the results, you have to keep reducing the no of joins :)) it is configured the self join table's count should be increased/decreased...

Oracle------SELECT D.PORTAL_LABEL ' -->' C.PORTAL_LABEL' -->' B.PORTAL_LABEL ' -->' A.PORTAL_LABEL
FROM PSPRSMDEFN A, PSPRSMDEFN B, PSPRSMDEFN C,PSPRSMDEFN DWHERE A.PORTAL_PRNTOBJNAME = B.PORTAL_OBJNAMEAND B.PORTAL_PRNTOBJNAME = C.PORTAL_OBJNAMEAND C.PORTAL_PRNTOBJNAME = D.PORTAL_OBJNAMEAND A.PORTAL_URI_SEG2 ='JOB_DATA_HIRE'


MSSQL-----SELECT D.PORTAL_LABEL+ ' -->'+C.PORTAL_LABEL+' -->'+ B.PORTAL_LABEL +' -->' + A.PORTAL_LABEL
FROM PSPRSMDEFN A, PSPRSMDEFN B, PSPRSMDEFN C,PSPRSMDEFN DWHERE A.PORTAL_PRNTOBJNAME = B.PORTAL_OBJNAMEAND B.PORTAL_PRNTOBJNAME = C.PORTAL_OBJNAMEAND C.PORTAL_PRNTOBJNAME = D.PORTAL_OBJNAMEAND A.PORTAL_URI_SEG2 ='JOB_DATA_HIRE'

Delaying Execution using PeopleCode

Delaying Execution using PeopleCode
If you want to delay the execution through PeopleCode, try using this function. One example was when there was a requirement to delay the row insert interval. Another one, if to delay the process execution until the group parallel process need to be finished.

GetJavaClass("java.lang.Thread").sleep(&sleepSeconds * 1000);