Archive for January, 2008

Email distribution error

January 17, 2008 Leave a comment

I tried to distribute a report by email, set distribution type as ‘Email’ and format as ‘PDF’ and enter either a user with proper email or enter a desired email in Distributio detail. The report ended with an error, saying unable to send email. I opened up the message log file and the error text was as shown below.

3 parameters
Parameter 0 = psmail
Parameter 1 = -INPUTC:\DOCUME~1\hrdev\Local
Parameter 2 = Settings\Temp\PRCD3.tmp
SMTP Settings:

SMTPServer =
SMTPPort = 25
SMTPServer1 =
SMTPPort1 = 0
SMTPSender =
SMTPSourceMachine =
Error opening file, error code 2
Error opening file, error code 2
Error opening file, error code 2
Error opening file, error code 2
Error opening file, error code 2
Error opening file, error code 2
ERROR: sender or recipient are missing.Command line arguments are incorrect

Failure… email not sent

This error is because User defined environment variables TEMP and TMP is set to a long string like “C:\DOCUME~1\hrdev\Local Settings\Temp”. The space in that string, makes one parameter split into two parameters. Obviously the paramter2 and parameter3 put separately makes the file location unreadable and hence email fails. 

To resolve this problem the User defined Environment variables TEMP and TMP should be set to a simple string like C:\temp, with no space in it. Since the User defined environment variables are user ID specific, Make sure that the user who boots the application server and process scheudler server should login and reset the TEMP and TMP user variable. After Changing the variable, the same user need to restart the process scheduler server.


Email Distribution Parameters:

The Email subject, Message Text, and Email Address List data entered on the email distribution page is stored in the PSPRCSRQSTTEXT table. The key for this table is process instance.


Categories: PS Admin

Configuring Integration Gateway

January 10, 2008 16 comments

Here are the steps for configuring Integration Gateway in PeopleSoft: 

Open a browser and enter the URL string in the address bar http://ipaddress/PSIGW/PeopleSoftListeningConnector Click enter, you will see the screen showing the following message.

PeopleSoft Integration Gateway
PeopleSoft Listening connector
Tools version:8.45.10
Status: ACTIVE

Loading Gateway Connectors:
Go to PeopleTools> Integration Broker> Gateways

On this page check the Local Gateway check box.
Enter http://ipaddress/PSIGW/PeopleSoftListeningConnector  in the URL field

First Save the Page. Then Click on Load Gateway Connectors button, this will populate all the Connectors and shows the following message.

Loading Process was successful. Number of connectors Loaded:10, Number of Properties Loaded 164.(158,42)

Hit the Save Button to save all the connectors.

Modification of Gateway Properties file:

Click on Properties link after the URL field.

Enter USERID and Password. (Default USERID = administrator and Password = password)

Gateway Properties file will open up.

Modify the following lines in the gateway properties file

ig.isc.PT_LOCAL.serverURL=//ipaddress:JOLT Listener Port
#Use the supplied “PAssword Encryption Utility” to generate an encrypted password for the next entry.

After modification of Gateway Properties file, Click on Apply button, and then Click on OK button. Save the Gateway page again.

From 8.49 tools onwards, you no longer need to edit the gateway properties file, instead there will be fields you need to fill the fields. Check the Node by pinging the node. You should get success result when you ping the node. Then Save the page.

Reboot the web server after the configuration file is modified.

Making Domain Status Active:
Go to PeopleTools> Integration Broker> Monitor > Monitor Message, click on Domain Status tab.

Select the Domain Status as active,  click on Update button.
Click on Refresh button to see the Dispatcher status as ACT (Active)

With this the Integration Broker configuration is complete.

-DBconnection string in SQR

January 9, 2008 8 comments

-DBconnection string option in Begin-Select, allows you to combine data from multiple databases in one program. An example for this is, Your SQR report which will be running from Finance database, needs name of employee from HRMS database. Create a procedure with -dbconnectionstring as show below.

Begin-Procedure Get_Empl_Name
#debugy show ‘In Procedure : Get_Empl_Name’

let $dbname = ‘DBNAME’
let $dbconnstr = ‘DSN=’ || $DbName || ‘;UID=USERID;PWD=PASSWORD’

Begin-Select -DB$dbconnstr
     show &emplid ‘ – ‘ &name
WHERE EMPLID = $emplid
End-Procedure !Get_Empl_Name

For this to work, we need to establish DB Link between the two databases. In the above example, the Finance database should have a DB Link established with HRMS database. The User-id and password, given in the connection string is the user id and password established while creating DB Link. We can assign appropriate access for this userid in DB Link.

Categories: SQR Tags:

Time taken by a procedure in SQR

January 7, 2008 1 comment

While testing, you might want to know how much time a particular procedure or a step in sqr is taking. You may use the following to know the time spent by a procedure or a step.

let $start_time = edit(datenow(), ‘DD/MM/YYYY-HH:MI:SS:NNNN’)
   do any-procedure-or-step
let $end_time = edit(datenow(), ‘DD/MM/YYYY-HH:MI:SS:NNNN’)
let #total_time = datediff(strtodate($end_time,’DD/MM/YYYY-HH:MI:SS:NNNN’), strtodate($start_time,’DD/MM/YYYY-HH:MI:SS:NNNN’),’minute’)
#debugy show ‘total time taken by the Program = ‘ #total_time  ‘ minutes’

Categories: SQR Tags:

File operations using DOS commands in SQR

January 3, 2008 2 comments

We can use the following as an sqc, for performing file operations in SQR. 

!Program Name : FileOprs.sqc
!Description        : File operations using DOS commands.

!Procedure Name : Make_Dir
!Description        : Creates a new path based on the input. Path must be
!                        a complete directory tree listing.
!Usage              : Do Make_Dir($Directory_NewPath)
begin-procedure  Make_Dir($NewPath)
#debugy show ‘In Procedure : Make_Dir’

Let $Commmand_line = ‘cmd /c mkdir ‘ || $NewPath
Do Exec_Cmd($Commmand_line)

end-procedure ! Make_Dir

!Procedure Name : Exec_Cmd
!Description        : Executes $Commmand_line on the system and reports
!                         errors for debugging.
!Usage               : Do Exec_Cmd($Commmand_line)
begin-procedure  Exec_Cmd($Commmand_line)
#debugy show ‘In Procedure : Exec_Cmd’

call system using $Commmand_line #status nowait
If #status <> 0
    #debugy show ‘Command ‘ $Commmand_line ‘ failed to execute.’

end-procedure ! Exec_Cmd

!Procedure Name : Copy_Files
!Description : Copy files from old to new path. Old information should be of
!       form \pathname\filename, while new information can just be a path.
!Usage               : Do Copy_Files($old_file_name, $new_file_name)
begin-procedure  Copy_Files($old, $new)
#debugy show ‘In Procedure : Copy_Files’

Let $Commmand_line = ‘cmd /c copy ‘ || $old || ‘ ‘ || $new
Do Exec_Cmd($Commmand_line)

end-procedure ! Copy_Files

!Procedure Name : Move_Files
!Description    : Move files from old to new path. Old information should be of
!           form \pathname\filename, while new information can just be a path.
!Usage               : Do Move_Files($old_file_name, $new_file_name)
begin-procedure  Move_Files($old, $new)
#debugy show ‘In Procedure : Move_Files’

Let $Commmand_line = ‘cmd /c move ‘ || $old || ‘ ‘ || $new
Do Exec_Cmd($Commmand_line)

end-procedure ! Move_Files

!Procedure Name : Delete_Files
!Description        : Deletes the files passed in variable $files
!Usage               :  Do Delete_Files($files)
begin-procedure  Delete_Files($files)
#debugy show ‘In Procedure : Delete_Files’

Let $Commmand_line = ‘cmd /c del ‘ || $files
Do Exec_Cmd($Commmand_line)

end-procedure ! Delete_Files

Categories: SQR Tags: