Posts

100 Email Addresses in SendMail Causing Performance Issues

Application Engine program with SendMail() PeopleCode is taking too long to process if Email list has for example more than 100 addresses to send the email to. IMPACT  --------------- If it takes this long, program might loop through around 100 times which means programs will take approximately 500 minutes to finish.  The problem caused because to so many email addresses in one Mail_To tag. When email addresses are split up into groups, problem went away. How to Handle?: Split the email addresses in multiple MAIL_TO tags to resolve performance issue. For example, if email is intended to be sent to 100 email addresses, use five MAIL_TO tags and include 20 email addresses in each tag. Example: &MAIL_TO1 = " " &MAIL_TO2 = "" Make sure that in first &MAIL_TO1, you end the 20th email address with comma and NOT semicolon else it will not take parameters from &MAIL_TO2. Please use semicolon to separate multiple email addresses in each Mail_To...

How to have the SOAPTOCI Log Generated in a Specific Location?

One of the ways you can set up the environment so the SOAPTOCI log is generated in a specific location on the application server machine is as follows. 1. Create an environment variable named PS_FILEDIR that points to the location where you want the SOAPTOCI logs. On Windows it would be a System environment variable. For UNIX the syntax would be different, and you can define it in the script that executes when you enter the shell (such as psconfig.sh). PS_FILEDIR=c:\pt849\appserv\FSCM90\files NOTE: PS_FILEDIR environment variable is sometimes used as the location by other applications. So, make sure that the location suits the various applications being used. 2. After setting the environment variable restart the app server using psadmin. However, prior to executing psadmin verify that the PS_FILEDIR environment variable exists. 3. Test an upload from ExcelToCI, and confirm it works as expected.

How does this Row level security work for User calling the CI via a PeopleSoft web service?

Row level security behavior for data updates via web service is different from the online component. This is expected behavior, and is due to the component design. Row level security for the component (which has implemented the row level security), e.g. CI_PERSONAL_DATA, may or may not work in the context of component interface (CI), depending on the component design.  The reason for this is the search record design in the component.  If the default component search record is not based on row level security view, it will NOT support row level security when this component is exposed as component interface (CI). In summary, row level security support in CI (in all use case, e.g. exceltoci, ci based web service...etc.) depends on the base component design, especially on the default search record. If it uses a row level security view, then row level security will work in CI too. Otherwise, it will NOT work with CI.  In the latter case, if there is a requirement to have the...

Compatibility Matrices - Peopletools Vs Peoplesoft Application

Image
Here are the certified combinations of Peoplesoft Application version (along the top) and PeopleTools version (down the side) for PeopleSoft HCM & Finance:

How to perform base64 encoding or decoding using PeopleCode?

Define two new algorithm chains under PeopleTools > Security > Encryption > Algorithm Chain: Algorithm BASE64_ENCODE: 1 PSUnicodeToAscii 2 base64_encode 3 PSAsciiToUnicode Algorithm BASE64_DECODE: 1 PSUnicodeToAscii 2 base64_decode 3 PSAsciiToUnicode Note the sequence as they are very important and must be exactly as ordered. Define Encryption Profiles using the chains above under PeopleTools > Security > Encryption Profile. As an example here, profile names BASE64_ENCODE and BASE64_DECODE will be used for the sample code below. After the encryption profiles are set up, they can be called upon by the PeopleCode Crypt class. Example Code: Local Crypt &cryEncode, &cryDecode; Local string &encodeResult, &decodeResult; /* ENCODE */ &cryEncode = CreateObject("Crypt"); &cryEncode.Open("BASE64_ENCODE"); &cryEncode.UpdateData("This is the text to be encoded"); &encodeResult = &cryEncode.Re...

How to Restrict users from Uploading and Downloading Certain File Types

If a customer wishes to restrict the types of files (by file-name extension) that can be downloaded by an end-user, an example of how to do so may be found in the PeopleTools Test Utilities demo application ("PeopleTools->Utilities->Debug->PeopleTools Test Utilities"). Below Sample PeopleCode uses the "JSP" file extension, something similar may be done to restrict other file-types or to specify a list of permissible file-name extensions rather than a list of impermissible file-name extensions. First, implement something like the user-defined PeopleCode function, IsLegalAttachmentType, as it is defined in the "FILE_ATTACH_WRK . ATTACHUTIL . FieldChange" Record PeopleCode program:     Function IsLegalAttachmentType(&str_AttachFileName As string) Returns boolean;         rem Create array of illegal file-types (use uppercase only!);         Local array of string &IllegalTypesArray = CreateArray(".JSP");   ...

Peoplesoft CFO Tool

Peoplesoft CFO (Cumulative Feature Overview tool) is online. https://apexapps.oracle.com/pls/apex/f?p=10319:18:0 Oracle provides a cumulative feature overview tool for PeopleSoft 9.2 to start your fit gap analysis.