胡刚的菜园

我和我的菜园,一起草长,一起莺飞
Focus on PeopleSoft & The Releated Technical skills……

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

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的执行与写法都是一样的,无需做任何修改。

posted on 2010-03-24 20:01  胡刚的菜园  阅读(1098)  评论(3编辑  收藏  举报