Thursday, March 29, 2012

DuplicateRowCheck


Function DuplicateRowCheck();
     Local Rowset &rsLNRow1,&rsSerialrset1;
         Local number &k, &L,&SEQ1;
         Local string &M, &P;
         &rsLNRow1 = GetLevel0()(1).GetRowset(Scroll.RMA_LINE);    
         For &SEQ1 = 1 To &rsLNRow1.ActiveRowCount
            &rsSerialrset1 = &rsLNRow1.GetRow(&SEQ1).GetRowset(Scroll.RMA_SERIAL_LOT);         
            For &k = 1 To &rsSerialrset1.ActiveRowCount              
               &M =&rsSerialrset1.GetRow(&k).RMA_SERIAL_LOT.SERIAL_ID.Value;              
               For &L = &k + 1 To &rsSerialrset1.ActiveRowCount                 
                 &P = &rsSerialrset1.GetRow(&L).RMA_SERIAL_LOT.SERIAL_ID.Value;
                  If &M = &P Then
                    Error MsgGet(100000, 0, "Duplicate Serial_id in Rownumbers:[ " | &M | " ] and [ " | &P | " ] ");
                  End-If;             
               End-For;             
            End-For;          
         End-For;   
 End-Function;

firstdaythismonth, lastdaythismonth, firstdayprevmonth, lastdayprevmonth,days_of_prevmonth

DAYS_OF_PREVMONTH

SELECT Trunc(SYSDATE, 'MM')                            firstdaythismonth,
       Last_day(Trunc(SYSDATE))                        lastdaythismonth,
       Trunc(Trunc(SYSDATE, 'MM') - 1, 'MM')           firstdayprevmonth,
       Last_day(Trunc(Trunc(SYSDATE, 'MM') - 1, 'MM')) lastdayprevmonth,
       Extract(DAY FROM Last_day(Trunc(Trunc(SYSDATE, 'MM') - 1, 'MM')))
                                                       days_of_prevmonth
FROM   dual; 

LeapYear SQL


SELECT CASE
         WHEN (SELECT Extract(DAY FROM Last_day(To_date('0201'
                                                        ||Extract(YEAR FROM
                                                                  SYSDATE),
                                                       'mmddyyyy')))
               FROM   dual) = '29' THEN 'LeapYear'
         ELSE 'Not A Leap Year'
       END
FROM   dual 

Monday, March 26, 2012

PeopleSoft Help: Function IsLeapYearFunction IsLeapYear(&iYear As ...

PeopleSoft Help: Function IsLeapYear
Function IsLeapYear(&iYear As ...
: Function IsLeapYear Function IsLeapYear(&iYear As number) If (&iYear Mod 4 = 0) And ((&iYear Mod 100 <> 0) Or (&iYear Mod 400 = 0)) Then ...
Function IsLeapYear

Function IsLeapYear(&iYear As number)
If (&iYear Mod 4 = 0) And ((&iYear Mod 100 <> 0) Or (&iYear Mod 400 = 0)) Then
&IsLeapYear Value= True;
Else
&IsLeapYearValue = False;
End-If;
End Function;
PRINT BUTTON PeopleCode
<HTML
<FORM>
<INPUT TYPE="SUBMIT" NAME="Print Button"  value="Print Button"
style="background-color:#FFFF00;"
title="PRINT" onclik=' ' onMouseOver="this.style.background ='#00FF00'"
onMouseOut="this.style.background='#FFFF00'"onClick="window.print()">
</FORM>
</HTML>
<div id="buttons">
<input type="button" class="search-btn" value=" Print "
onclick="javascript:window.print()" />
<input type="button" value=" Close" onclick="javascript:window.close()" />
</div>
HTML code fro Print Button
(Button Color, On mouse Color change  for PeopleSoft Pages ).

<html>
<form action="">
<input type="button" value="Hello world!" style="background-color:#FFFF00;"
title="PRINT" onclik=' ' onMouseOver="this.style.background ='#00FF00'"
onMouseOut="this.style.background='#FFFF00'" onClick="window.print()">
</form>
</body>
</html>

Find Decimal Position in Number

Function DecimalPos(&sNumberStr) Returns number
   Local number &nReturn;
   If All(&sNumberStr) Then
      Return Round(Value(&sNumberStr / 100), 2)
   Else
      Return 0;
   End-If;
End-Function;
MakeDateFromString


Function MakeDateFromString(&sDate) Returns date
   Local date &dtRetDt, &dtNull;
   Local number &nMonth, &nDay, &nYear;
   If All(&sDate) And
         &sDate <> "00000000" Then
      &nMonth = Value(Substring(&sDate, 5, 2));
      &nDay = Value(Substring(&sDate, 7, 2));
      &nYear = Value(Substring(&sDate, 1, 4));
      rem &fileBatch.WriteLine("&nMonth: " | &nMonth | "&nDay: " | &nDay | "&nYear: " | &nYear);
      Return Date3(&nYear, &nMonth, &nDay);
   Else
      Return &dtNull;
   End-If;
End-Function;
DeleteFile Function

Function DeleteFile(&FilePath As string, &sFileName As string) Returns string;
   Local string &sReturnValue;
   Local File &RQST_FILE1 = GetFile(&FilePath | &sFileName, "W", %FilePath_Absolute);
   Local number &retcode;
   Local JavaObject &oDelFile;
   &FNAMES = FindFiles(&FilePath | &sFileName, %FilePath_Absolute);
   If &FNAMES.Len > 0 Then
      MessageBox(0, "", 0, 0, "fileExists " | &FNAMES [1]);
      If All(&RQST_FILE1) Then
         &oDelFile = CreateJavaObject("java.io.File", &FilePath | &sFileName);
         &sFileName1 = &oDelFile.getName();
         &nFilelength1 = &oDelFile.length();
         MessageBox(0, "", 0, 0, "&sFileName1  " | &sFileName1);
         MessageBox(0, "", 0, 0, "&nFilelength1  " | &nFilelength1);
         &oDelFile.delete();
         Return "DELETED";
      End-If;
   End-If;
   Return " ";
End-Function;

PeopleSoft Help: Send Mail WithAttachmentsFunction SendMCFMailWith...

PeopleSoft Help: Send Mail WithAttachments
Function SendMCFMailWith...
: Send Mail WithAttachments Function SendMCFMailWithAttach(&sFrom As string, &sSubject As string, &sEmail_BODY As string, &sMAIL_FILES As str...
Send Mail WithAttachments

Function SendMCFMailWithAttach(&sFrom As string, &sSubject As string, &sEmail_BODY As string, &sMAIL_FILES As string, &sFileName As string) Returns number
   Local PT_MCF_MAIL:MCFMultipart &multipartobj = create PT_MCF_MAIL:MCFMultipart();
   Local PT_MCF_MAIL:MCFOutboundEmail &sendmailobj = create PT_MCF_MAIL:MCFOutboundEmail();
   Local PT_MCF_MAIL:MCFBodyPart &htmlpart = create PT_MCF_MAIL:MCFBodyPart();
   Local integer &sendstatus;
   SQLExec("SELECT  EMAILID FROM PSUSEREMAIL  a  where OPRID=:1 and EMAILTYPE='BUS' and PRIMARY_EMAIL='Y'", %UserId, &sEMAILID);
   If All(&sEMAILID) Then
   Else
      &Email_Ids = &sEMAILID; /*Default Emaild*/
   End-If;
   If All(&sFrom) Then
      &sendmailobj.From = &sFrom;
   End-If;
   &sendmailobj.Subject = &sSubject;
   &sendmailobj.Recipients = &sEMAILID;
   &htmlpart.Text = &sEmail_BODY;
   &htmlpart.ContentType = "text/html";
   If All(&sMAIL_FILES) Then
      &htmlpart.AttachmentURL = &sMAIL_FILES;
      &htmlpart.FileName = &sFileName;
      &htmlpart.FilePathType = %FilePath_Absolute;
   End-If;
   &multipartobj.AddBodyPart(&htmlpart);
   &sendmailobj.MultiPart = &multipartobj;
   &sendmailobj.ContentType = "text/html";
   If All(&sEMAILID) Then
      &sendstatus = &sendmailobj.Send();
   Else
      MessageBox(0, "", 0, 0, "*** NO USER NOTIFICATION SETUP ***");
   End-If;
   Return &sendstatus;
End-Function;

Send Email From ProcessScheduler Processes


Function SendEmailFromProcessScheduler(&ProcessType As string, &ProcessName As string, &sEmailSubject As string, &sEmailBody As string)
   Local SQL &Email_ID_SQL;
   Local string &EmaiId, &Email_Ids;
   &Email_Ids = "";
   &Email_ID_SQL = CreateSQL("SELECT A.EMAILID FROM PSUSEREMAIL A, PS_PRCSDEFNNOTIFY B WHERE A.OPRID = B.DISTID AND B.PRCSTYPE =:1 AND B.PRCSNAME = :2 AND B.DISTIDTYPE = '2' AND A.EMAILTYPE = 'BUS' union SELECT A.EMAILID FROM PSUSEREMAIL A, PS_PRCSDEFNNOTIFY B, PS_ROLEUSER_VW C WHERE A.OPRID = C.ROLEUSER AND C.ROLENAME = B.DISTID AND B.PRCSTYPE =:1 AND B.PRCSNAME = :2 AND B.DISTIDTYPE = '3' AND A.EMAILTYPE = 'BUS' ", (&ProcessType, &ProcessName);
   While &Email_ID_SQL.Fetch(&EmaiId)
      If &Email_Ids = "" Then
         &Email_Ids = &EmaiId
      Else
         &Email_Ids = &Email_Ids | ";" | &EmaiId
      End-If
   End-While;
   &Email_ID_SQL.Close();
   &nFlag = 0;
  
   &strCC = "";
   &strBCC = "";
   If All(&Email_Ids) Then
      SendMail(&nFlag, &Email_Ids, &strCC, &strBCC, &sEmailSubject, &sEmailBody);
   Else
      MessageBox(0, "", 0, 0, "*** NO USER NOTIFICATION SETUP ***");
   End-If;
End-Function;

Tuesday, March 20, 2012

Rename File in Unix through PeopleCode

                                             Rename File in Unix through PeopleCode

Exec("mv <path>/file1.csv <path>/file2.csv", %Exec_Asynchronous + %FilePath_Absolute);

How to zip files through peoplecode

                               How to zip files through peoplecode
Exec("gzip -c <path>/file.txt > <path>/file.gz", %Exec_Asynchronous + %FilePath_Absolute);
Exec("gunzip -c <path>/file.gz >", %Exec_Asynchronous + %FilePath_Absolute);
gzip -c file.txt > file.gz
http://examplenow.com/gzip/
gzip [-acdfhlLnNqrtvV19] [-S suffix] [file ...]
gunzip [-acfhlLnNqrtvV] [-S suffix] [file ...]
gzcat -fhLV [file ...]
http://www.mkssoftware.com/docs/man1/gzip.1.asp

Monday, March 19, 2012

Base64 Encoding, Decoding


Base64 Encoding, Decoding

SCC_COMMON_UTILITIES.UTIL.Base64Wrapper.OnExecute
 (This Appl package has all the methods needed for base64 encode and decode)

class Base64Wrapper
   method Base64Wrapper();
   method encode(&filename As string) Returns string;
   method decode(&filename As string, &base64data As string) Returns boolean;
   rem method getErrorDetails() Returns string;
private
   instance JavaObject &joB64;
end-class;
method base64Encode
   Local number &nbr_retcode;
   Local File &file;
      &nbr_retcode = GetAttachment(&fileURL, &sysfilename, &tempFilename);
   %This.delay();
   If &nbr_retcode > 0 Then
      throw CreateException(18179, 207, "", &displayFilename);
   End-If;
   &Base64String = &b64w.encode(&tempFilename);
   %This.cleanupTempFile();
   end-method;;
method Base64Wrapper
   rem &joB64 = CreateJavaObject("com.peoplesoft.hrms.hrs.base64Utils");
   &joB64 = CreateJavaObject("com.peoplesoft.hr.sa.base64Utils");
end-method;
method encode
   /+ &filename as String +/
   /+ Returns String +/ 
   Local string &filedata;
   &filedata = &joB64.base64Encode(&filename);
   Return &filedata;
end-method;
method decode
   /+ &filename as String, +/
   /+ &base64data as String +/
   /+ Returns Boolean +/
   Return &joB64.base64Decode(&filename, &base64data);
   end-method;
/*method getErrorDetails
   /+ Returns String +/
   Return &joB64.getErrorDetails();
end-method;*/
HRS_HROI_RESUMEEXTRACT:Util(Application Package)
HRS_HROI:UTIL:Base64Wrapper;
class Base64Wrapper
   method Base64Wrapper();
   method encode(&filename As string) Returns string;
   method decode(&filename As string, &base64data As string) Returns boolean;
private
   instance JavaObject &joB64;
end-class;
method Base64Wrapper
   &joB64 = CreateJavaObject("com.peoplesoft.hrms.hrs.base64Utils");
end-method;
method encode
   /+ &filename as String +/
   /+ Returns String +/
      Local string &filedata; 
      &filedata = &joB64.base64Encode(&filename);
   Return &filedata;
end-method;
method decode
   /+ &filename as String, +/
   /+ &base64data as String +/
   /+ Returns Boolean +/
   Return &joB64.base64Decode(&filename, &base64data);
   end-method;;

INTEGRATION BROKER TABLES.

INTEGRATION BROKER TABLES.
--------------IB Gateway----------
Select * From PSGATEWAY ;
Select * From PSCONN ;
Select * From PSNODECONPROP ;
Select * From PSCONNPROP ;
Select * From PSCONNPROPIDVW;
Select * From PSCONPROPNAMEVW;
Select * From PSCONPROPVALVW ;
Select * From PSCONPROPDATAVW;
-----------Routings----------
Select * From PSIBRTNGDEFN where ROUTINGDEFNNAME like 'CG%';
Select * From PSRTNGDFNCONPRP where ROUTINGDEFNNAME like 'CG%';
Select * From PSRTNGDFNPARMVW  where ROUTINGDEFNNAME like 'CG%';
Select * From PSRTNGDFNPROP  where ROUTINGDEFNNAME like 'CG%';
Select * From PSRTNGDFNPARM  where ROUTINGDEFNNAME like 'CG%';
Select * From PSIBRTNGDEFN  where ROUTINGDEFNNAME like 'CG%';
---Service-------------
Select * From PSAUTHWS ;
Select * From PSSERVICE;
Select * From PSIBWSDL ;
Select * From PSOPRVERDFN ;
select * from PSIBMSGSERV_VW ;
select * from PSIBRTNGSERV_VW ;-- IB Service Routings
Select * From PSOPERATION;
Select * From PSSERVICEOPR_VW;
Select * From PSOPRVERDFNPARM;
Select * From PSOPERATIONAC;-- IB Service App. Class
Select * From PSHUBNODEVW ;---Routings---
Select * From PSIBRTNGDEFN;
Select * From PSRTNGDFNPARM ;
Select * From PSRTNGDFNCONPRP ;
Select * From PSOPRGENRTGPARM0;-- IB Service Routing Parameters
-----QUES---------------
Select * From PSQUEUEDEFN;
Select * From PSOPRVERDFN;
Select * From PSOPRVERDFNPARM;
Select * From PSSRVQUEUE_VW;
------MSG DEFN-------
Select * From PSMSGVER;
 Select * From PSMSGDEFN;
Select * From PSMSGPARTS ;
Select * From PSMSGPARTS_VW;
Select * From PSOPRVERDFNM_VW;
------NODE-------------
Select * From PSMSGNODEDEFN;
Select * From PSNODECONPROP;
Select * From PSNODEURITEXT;
Select * From PSIBRTNGDEFN ;
Select * From PSNODEPROP ;
Select * From PSMSGATTR ;
 ---Schemas---
Select * FROM PSIBMSGSCHEMA;
Select * FROM PSIBSCMADFN;
Select * FROM PSIBSCMADATA;
--Connectors-----
Select * From PSCONN ;
-------MSG--------
Select * From PSCONPROPVALVW ;
Select * From PSCONNPROPIDVW;
Select * from PSNODEVW;
Select * from PS_AMM_ARCH_PUB ;
Select * from PSAUTHWS_VW;
Select * from PSAUTHWS_VW1;
Select * from PSAUTHWS_VW2 ;
Select * from PSIBUSERCOMP;
---------------------------
Select * From PSCONTNAMEVW;
Select * From PSCODESETGROUP;
Select * From PSCONNGATEWAYVW;
Select * From PSCONNIDVW;
-----Handlers----
Select * from PSOPRHDLR;

READ TRACE as described below.

 READ TRACE as described below.

 PSAPPSRV.1033 1-525 16.50.10 0.000 Cur#1.CRMDEV1 RC=0 Dur=0.000 COM Stmt=SELECT
"1-525"    >>>sequential line counter for the process.
"16.50.10" >>>time stamp
"0.000"    >>>time  elapsed since the previous line was written to the trace file.
"Cur#1"    >>> number of the cursor for the statement
"CRMDEV1"  >>>name of the instance in which the statement was executed.
"RC=0"     >>> Return Code
"Dur=0.000">>>duration of the statement.
.