SQR 本身是一门技术,通常可用来做一些batchjob或者是生成报表,而在peoplesoft中,SQR的用处也很大很灵活。在PeopleSoft中,通常有2种方式来执行一个 SQR, 比较常用的方法是Process Scheduler,同时,我们也可以使用Peoplecode直接调用一个SQR文件。
下面我们具体来谈谈如果使用peoplecode调用一个SQR文件。
设计好相应的页面后,在为按钮添加peoplecode,
Local ProcessRequest &RQST; //定义与个processrequest实例
/* Create the ProcessRequest Object */
& RQST = CreateProcessRequest();
/* Set all the Required Properties */
& RQST.RunControlID = RunControlTable.RUN_CNTL_ID;// 这里就是你的run control table里面的run control id,此项为必须的。
&RQST.ProcessType = "SQR Process"; //类型
&RQST.ProcessName = "MySqr";//定义需要执行的SQR名字
/* Set any Optional Properties for this Process */ 以下这些是可选项,诸如Email之类的,可根据需要添加。
&RQST.RunLocation = &sRunLocation;
& RQST.RunDateTime = &dttmRunDateTime;
& RQST.TimeZone = &sTimeZone;
& RQST.PortalFolder = &sPortalFolder;
& RQST.RunRecurrence = &sRecurrence;
& RQST.OutDestType = &sOutDestType;
& RQST.OutDestFormat = &sOutDestFormat;
& RQST.OutDest = &sOutputDirectory;
& RQST.EmailAttachLog = &bEmailAttachLog;
& RQST.EmailWebReport = &bEmailWebReport;
& RQST.EmailSubject = &sEmailSubject;
& RQST.EmailText = &sEmailText;
& RQST.Schedule(); //加入到schedule中,执行sqr。
不管是通过Process Scheduler还是直接使用peoplecode调用,SQR的执行与写法都是一样的,无需做任何修改。
Note:This blog entries are focus on PeopleSoft & The Releated Technical skills,I will appreciate if you use it and recommend it.