Printing ESS Self Service Check for a date range
Input parameter:
- Emplid
- To Date
- From Date
Code Snippet (You may need to change file path to download and write file)
import
PSXP_RPTDEFNMANAGER:*;
Local date
&PYMT_DT;
Local string
&URL, &FILEURL_ID, &BURSTRPT_ID, &BURST_TEMPLATE_ID,
&DIR_SYSFL_NM, &DIR_LCLFL_NM, &sSysINFileName,
&sSysOUTFileName, &LanguageCd;
Local XmlDoc
&inXMLDoc, &outXMLDoc;
Local boolean
&retcode_parse, &retcode_output_xmlfile;
Local XmlNode
&childNode;
Local
PSXP_RPTDEFNMANAGER:ReportDefn &oRptDefn;
Local
PSXP_RPTDEFNMANAGER:Utility &oUtil;
Local number
&retcode_downld_fl, &OutDestFormat;
Local SQL
&emp_pychck_sql;
&sSysINFileName
= "/interfaces/" | %DbName | "/inbound/PR/EE_PYCHK.XML";
&sSysOUTFileName
= "/interfaces/" | %DbName | "/inbound/PR/EE_" |
BH_EE_CHKPRNT.EMPLID | "_PYCHK.XML";
/*SQL to Fetch XML file based on date*/
&emp_pychck_sql
= CreateSQL("select %dateout(PYMT_DT), URL, PY_PSLP_FILEURLID,
PY_SSP_BURSTRPT_ID, BURST_TEMPLATE_ID, PY_PSLP_SOURCEFILE, ATTACHSYSFILENAME
from %table(:1) where EMPLID = :2 and
PYMT_DT between %datein(:3) and %datein(:4) and PY_SS_PSLP_STATUS = :5
", Record.PY_SS_PSLP_GDE, BH_EE_CHKPRNT.EMPLID.Value,
BH_EE_CHKPRNT.DATE_TO.Value, BH_EE_CHKPRNT.DATE_FROM.Value, "ORIG");
/*Get input XML obj*/
&inXMLDoc =
CreateXmlDoc("");
/*Get output XML obj*/
&outXMLDoc =
CreateXmlDoc("");
While
&emp_pychck_sql.Fetch(&PYMT_DT, &URL, &FILEURL_ID,
&BURSTRPT_ID, &BURST_TEMPLATE_ID, &DIR_SYSFL_NM, &DIR_LCLFL_NM)
/*Download
the file on server*/
&retcode_downld_fl =
GetAttachment(&URL, &DIR_LCLFL_NM, &sSysINFileName);
/*File
download success*/
If &retcode_downld_fl =
%Attachment_Success Then
/*Parse
XML Doc*/
&retcode_parse =
&inXMLDoc.ParseXmlFromURL(&sSysINFileName);
/*Dcoument
parsed success*/
If &retcode_parse Then
/*Find
node from input XML obj*/
&childNode =
&inXMLDoc.DocumentElement.FindNode("/US_ADVICE/G_EMP_DATA");
/*copy node from
input XML obj to output XML obj*/
&outXMLDoc.DocumentElement.CopyNode(&childNode);
/*Dcoument
parsed failed*/
Else
Error MsgGet(235, 3, "Unable to
generate XML file from data source");
End-If
/*File download
failed*/
Else
Error MsgGet(235, 5, "Error
downloading file from database");
End-If;
End-While;
/*Create ouput xml file*/
&retcode_output_xmlfile
= &outXMLDoc.GenXmlFile(&sSysOUTFileName);
/*Output file created*/
If
&retcode_output_xmlfile Then
/*Create
PDF Report*/
/*
start logging */
WriteToLog(%ApplicationLogFence_Level1,
"*** XMLP View Self Service Paycheck: " | String(%Datetime) | "
***");
WriteToLog(%ApplicationLogFence_Level1,
"XML File = " |
&retcode_output_xmlfile);
&BURSTRPT_ID = "SSPOFADV";
/*
get the report defn object */
&oRptDefn = create
PSXP_RPTDEFNMANAGER:ReportDefn(&BURSTRPT_ID);
&oRptDefn.Get();
/* &oRptDefn.OutDestination =
&xmlDir; */
&oRptDefn.SetRuntimeDataXMLFile(&sSysOUTFileName);
&LanguageCd = %Language_User;
&OutDestFormat = 2;
&oRptDefn.ProcessReport(&BURST_TEMPLATE_ID, &LanguageCd,
%Date, &oRptDefn.GetOutDestFormatString(&OutDestFormat));
/* &sFileExt =
GetFileExtension(&sOutputFormat); */
CommitWork();
/*
display the output */
&oRptDefn.DisplayOutput();
/*Output file not
created*/
Else
Error MsgGet(41, 5, "Error on output
file.");
End-If;
/*Close SQL object*/
&emp_pychck_sql.Close();
No comments :
Post a Comment