Ask the Expert 113

Posted by Senthil Kumar Theagarajan
Comments (10)
March 30th, 2010

Ajay Pimpalshende

Function ciGetCIKeys(&inCIName As string, &inKeyType As string, &inExceptionArray As array of Record) Returns array of string;

WinMessage(“before Test Ajay”, 0);

WinMessage(&currentCI, 0);

&GetKeyError = False;

&Session = %Session;

&ciName = “COMPINTFC.” | &inCIName;

WinMessage(“Test Ajay CI NAME”, 0);

WinMessage(&ciName, 0);

&currentCI = &Session.GetCompIntfc(@&ciName);

WinMessage(&Session.GetCompIntfc(@&ciName), 0);

WinMessage(“before Test Ajay”, 0);

WinMessage(&currentCI, 0);

rem AJAY If &currentCI = Null Then;

If &currentCI = Null Then

WinMessage(“ajay inside current ci”, 0);

WinMessage(&currentCI, 0);

ciCreateExceptionEntry(&inExceptionArray, 18016, 102, “”, “”, “”, “”);

&GetKeyError = True;


WinMessage(“ajay inside else loop part “, 0);

WinMessage(&currentCI, 0);

&KeyArray = ciCreateArray();

Evaluate &inKeyType

When = “G”

&KeyInfoColl = &currentCI.GetKeyInfoCollection;


When = “C”

&KeyInfoColl = &currentCI.CreateKeyInfoCollection;


When = “F”

&KeyInfoColl = &currentCI.FindKeyInfoCollection;



For &I = 1 To &KeyInfoColl.Count;

&key = &KeyInfoColl.Item(&I);

&KeyArray = ciPopulateArray(&KeyArray, &key.Name, ” “);



/* Cancel Instance of Component Interface */

WinMessage(“Test Ajay”, 0);

WinMessage(&currentCI, 0);


WinMessage(“Test Ajay After cancel call”, 0);

WinMessage(&currentCI, 0);

Return &KeyArray;


Kindly suggest me why &Session.GetCompIntfc(@&ciName);

is returnning NULl Values. though my CI value @&ciName = CI_JOB_DATA

Thank you for posting your Question

It works fine in our environment, no issue found.

Most probable reason, verify CI; Open CI and verify & save it.

Then please verify when CI is passed into function it’s in the upper case.

Verify if the security is assigned to the CI you have created.

Rest all peoplecode is fine.


Akash Awadhiya


I want to display an image as the background for a mail notification, triggered using SendMail sendmail function in peoplecode..Please help me out

Thank you for posting your Question

You can send email by importing PT_MCF_MAIL application package, it provide option to send an email with background.

Pseudo code:

import PT_MCF_MAIL:*;

Local PT_MCF_MAIL:MCFOutboundEmail &email =

create PT_MCF_MAIL:MCFOutboundEmail();

&email.From = &FromAddress;

&email.Recipients = &ToList;

&email.Subject = &Subject;

Local PT_MCF_MAIL:MCFMultipart &mp = create PT_MCF_MAIL:MCFMultipart();

&mp.SubType = “related”;

Local PT_MCF_MAIL:MCFBodyPart &html = create PT_MCF_MAIL:MCFBodyPart();

&html.Text = &htmlText;

&html.ContentType = “text/html”;

Local PT_MCF_MAIL:MCFBodyPart &image = create PT_MCF_MAIL:MCFBodyPart();

&image.SetAttachmentContent(“///file:C:/User/Documentum/XML%20Applications/proddoc/peoplebook_upc/peoplebook_upc.dtd”, %FilePath_Absolute, “sample.jpg”, “This is a sample image!”, “”, “”);

&image.AddHeader(“Content-ID”, 23abc@pc27);



&email.MultiPart = ∓

Local integer &res = &email.Send();

For details, please refer PeopleBooks “PeopleSoft API Reference”; section “Creating HTML Email with Images”.


Akash Awadhiya

Comments (10)

Ajay Pimpalshende - December 23rd, 2010

Dear Experts, We are generation Crystal Report letter in PeopleSoft. We are passing all paramaeters to CR as bind variable and generating letter. My proble is in Crystal Report I am not able to conver Digit to Indian Rs conversion. I tried with Julian Year but that will not help me in describing INR in words. I want conversion such as : 175481/- (In Words : One Lakh Seventy Five Thousands Four Hundred and Eighty one ) Please help in writing this code. Either in Peoplecode or at Crystl report level some expression. Regards, Ajay Pimpalshende PeopleSoft Consultant

Mani - November 1st, 2010

Please help me on PeopleSoft XML Publisher RowSet Concept. I have an idea in XML Publisher using PS Query as a data source. But I don't know how to start with Rowset concept. Please give me some inputs in rowset concept. I analysed some code regarding rowset, but i don't know where to place that code and how to use. Thanks in advance..

Ranjith - September 15th, 2010

I have changed the length of a PS delivered field definition (DESCR). Which now showing the impact in the production. 1.Changed the DESCR length from 30 to 90 (I increased it). 2.Then i Builded(alter) a single record ACCOMP_TBL 3. Uploaded the data. After this is done where ever the DESCR field is used as a prompt table, it throws error. When i click the prompt lens it displays the set of values, but if i select a value when the page reloads with that value it throws error as "Invalid value -- press the prompt button or hyperlink for a list of valid values(15,11)" I even deleted the uploaded data and revoked the length from 90 to 30 and builded (altered) the same accomp table but no use. Still the error is same. When i did the same in the developer instance it had no impact. But when i moved to production i received this error. Tools Release 8.44 Application Release HRMS Browser IE/7.0 Operating System WINNT Browser Compression ON (gzip) Service Pack 0 Page HX_LIC_UPD_SEC Component HX_LIC_UPD Menu HX_EPROFILE I am new to people soft. Please help me on this.

raj - August 19th, 2010

Hello All, When i trigger an process to run - Its taking for a while to go to Queued/Initiated and then Processing status. what are the factors that process scheduler uses/references/depends on - for kicking any process. Thanks in advance..

deekshi - August 11th, 2010

Hi, I have not used peoplesoft deliverd save button in my page. my aim is to enter values in PIA n store it in database. i have created a button called save n in that button in field change event. i wrote "dosave()". it is working but the problem is in database only last entry is getting saved. al before entries are replaced by the new entry. is there any peoplecode to avoid this or is der anyother way to save a PIA values into database??

Asha Rao - July 6th, 2010

Hello All, we have country wise roll out for PeopleSoft 9.0 HCM. We have already implemented 2 countries with Full position management. For the 3rd country the business wants us to implement Partial Position Management. I wanted to know will there be any impacts on the components which was already implemented if we change from "Full position" to "partial Position Management" in the Installation Table. I would also like to know impacts from self service modules perspective. Any help on this will be appreciated. Thanks Asha

Hakkim - June 10th, 2010

Hi, I am getting accounting entries in incomplete status when AR Update is run for a maintenance worksheet. I am trying to offset an item, using maintenance worksheet but this goes into incomeplete status and not to posted status. When I try creating the accounting entries manually, via online panel, they are getting generated, but they couldnt be saved and pops up a an accounting entry out of balance error. What could be possible reason how to trouble shoot this. Seems more of a set up related issue, but I am not sure where to look up, plz advise.

Rahu Bagade - June 1st, 2010

Hi, We have upgraded Tools from 8.49 To 8.50. Now I want to use XML file as datasource instead of Rowset in XML reports. Can you plz guide me, how to achive this.

Christina - May 11th, 2010

I want to display an image as the background for a mail notification, triggered using SendMail sendmail function in peoplecode..Please help me out. We are using Peopletools 8.44 Regards, Christina

suresh - April 12th, 2010

Hi, our client is facing a wierd issue...when she runs payroll export process the heading row is getting printed twice....pre-production environment is working fine with the same settings..donno wat's the issue with prod env...any help is highly appreciated

Comments are closed.