CompShack Blogs

Code to get the record and count from the data base

Step:1 PeopleCode:
Local File &MYFILE;
Local string &str_cnt;
Local string &FPath;

&str_cnt = "Record Name" | Char(9) | "Count";
&FPath = "\\psapsftt\TTEF\OneSource\PC-Inbound\Record.xls";
&MYFILE = GetFile(&FPath, "W", %FilePath_Absolute);
&MYFILE.WriteLine(&str_cnt);

Step2:Doselect

%SelectInit(RECNAME)
SELECT RECNAME
FROM %Table(PSRECDEFN)
WHERE RECNAME NOT IN (Record Names)
AND RECTYPE NOT IN (2,3,5) /*2 - Derived/Work 3- Sub-Record 5- Dynamic View */

Step:3:SQl
%SelectInit(COUNTER1)
SELECT COUNT(*)
FROM %Table(%bind(RECNAME))

Step:4:PeopleCode:

Code would useful to create a .txt file thru App Engine

Write the code in PeopleCode Action:
Local File &MYFILE;
&PS_SERVDIR = (GetEnv("PS_SERVDIR")) | "/";
&FPath = &PS_SERVDIR | "file.txt";
&MYFILE = GetFile(&FPath, "W", %FilePath_Absolute);
&MYFILE.WriteLine(&Input);

&MYFILE.Close();

Code useful to view a file

SQLExec(SQL.CSGC_DB_NAME, &NAME);
SQLExec("SELECT URL FROM %Table(:2) WHERE DISTNODENAME=:1", &NAME, Record.CDM_DIST_NODE, &URL);
&PRCSOUTPUTDIR = &URL | "/CSGC_CSHEET1.pdf";
ViewContentURL(&PRCSOUTPUTDIR);
ViewContentURL(“www.gmail.com”);

Code useful to open a file

Write the code in PeopleCode Action:
&FileName = ;
&ret = GetAttachment("RECORD://CSGC_CSHT_ATACH", &FileName, "/" | &FileName, "PS_SERVDIR", True);
&PS_SERVDIR = (GetEnv("PS_SERVDIR")) | "/";
&FilePath = &PS_SERVDIR | &FileName;

If &ret = %Attachment_Success And
FileExists(&FilePath, %FilePath_Absolute) Then

&TxtFile = (GetFile(&FilePath, "R", %FilePath_Absolute));

While &TxtFile.ReadLine(&Input)
&Input = LTrim(RTrim(&Input, " "), " ");
;
End-While;
End-If;

&TxtFile.Close();

Code to hide translate values dynamically

Write the code in RowInit:
Local Rowset &Xlat;

&FLD = GetRecord(Record.PY_IC_WRK1).GetField(Field.ACCOUNT_TYPE_DD);
&FLD.ClearDropDownList();

&Xlat = CreateRowset(Record.PSXLATITEM);
&Xlat.Fill("WHERE FILL.FIELDNAME = 'ACCOUNT_TYPE_DD' AND FILL.FIELDVALUE IN ('C','S')");

&Xlat_cnt = &Xlat.ActiveRowCount;
For &I = 1 To &Xlat_cnt
&CodeIn = &Xlat.GetRow(&I).GetRecord(1).FIELDVALUE.Value;
&DescIn = &Xlat.GetRow(&I).GetRecord(1).XLATLONGNAME.Value;

&FLD.AddDropDownItem(&CodeIn, &DescIn);
End-For;

Code to know whether the Scheduled App Engine ran to success or not

If &MYRQST.Status = 0 Then /* if Schedule status is success */

&LOOP = 0;
While &LOOP = 0
SQLExec("SELECT A.DISTSTATUS, A.RUNSTATUSDESCR FROM PS_PMN_PRCSLIST A WHERE A.PRCSNAME = :1 AND A.PRCSINSTANCE = (SELECT MAX(B.PRCSINSTANCE) FROM PS_PMN_PRCSLIST B WHERE B.PRCSNAME = A.PRCSNAME)", &MyAppName, &POSTED, &STATUS);

If &STATUS = "Success" And
&POSTED = 5 Then /* Posted */
&LOOP = 1
End-If;

If &STATUS = "Success" And /* Not Posted */
&POSTED = 4 Then

PeopleCode Check Number and Check Letter Functions

Couple PeopleCode functions I came across. One insures a string consists of numbers and one insures a string consists of letters.

Function Check_Number(&STR) Returns boolean;
   &LEN = Len(&STR);
   If &LEN = 0 Then
      Return False;
   End-If;
   For &I = 1 To &LEN;
      &CODE = Code(Substring(&STR, &I, 1));
      If (&CODE < 48 Or
            &CODE > 57) Then
         Return False;
      End-If;
   End-For;
   Return True;
End-Function;

Function Check_Letter(&STR) Returns boolean;
   &LEN = Len(&STR);
   If &LEN = 0 Then
      Return False;
   End-If;

PeopleSoft Object Type List

Below is a complete list of all PeopleTools object types with value number and description.

VALUE   DESCRIPTION
0       Record
1       Index
2       Field
3       Field Format
4       Translate Value
5       Page
6       Menu
7       Component
8       Record PeopleCode
9       Menu PeopleCode
10      Query
11      Tree Structure
12      Tree
13      Access Group
14      Color
15      Style
16      Business Process Map
17      Business Process
18      Activity
19      Role
20      Process Definition
21      Process Server Definition
22      Process Type Definition
23      Process Job Definition
24      Process Recurrence Definition
25      Message Catalog
26      Dimension
27      Cube Definition

PeopleSoft Data Integrity Error (124,85)

Today, I had my first 'Data Integrity Error (124,85)' in PeopleSoft.

It occured while I was trying to run a QA external check on the careers page for my client. I was not the only consultant who received this error - one of the others who I work alongside received the same error.

Unwanted Save Warnings in Display Only Pages

Use function

SetSaveWarningFilter( True);