壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1148|回复: 4

SQR动态获取table中的字段名和数据类型

[复制链接]
发表于 2013/1/11 13:56:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
那位大虾知道怎么样用SQR动态获取表中的字段名和数据类型。
比如说通过input获取一个table name,可以打印出这个table中
所有的column name和data type
发表于 2013/1/11 16:48:16 | 显示全部楼层
如下表里找找看吧

Fields
PSDBFIELD — Fields in the system
PSXLATITEM — Translate Values

Records
PSRECDEFN — Record header table
PSRECFIELD — Fields in the record (subrecords not expanded)
PSRECFIELDALL — Fields in the record (subrecords expanded)
PSKEYDEFN — Indexes
PSTBLSPCCAT — Tablespaces
PSRECTBLSPC — Records’ tablespace assignments
 楼主| 发表于 2013/1/14 17:42:40 | 显示全部楼层
imake 发表于 2013/1/11 16:48
如下表里找找看吧

Fields

我现在还没设计到具体的表,只是在做练习的时候遇到这样的情况。我想知道的事SQR中有没有像SQL语句那样,可以自动获得表中各个column的name和data type。
发表于 2013/1/15 06:25:24 | 显示全部楼层
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.

点评

原文:http://www.cnblogs.com/darcyhu/archive/2010/03/24/1694098.html  发表于 2013/1/15 06:26
发表于 2013/1/15 17:43:19 | 显示全部楼层
kevinrao0101 发表于 2013/1/14 17:42
我现在还没设计到具体的表,只是在做练习的时候遇到这样的情况。我想知道的事SQR中有没有像SQL语句那样, ...

imake已经给你提供了很多信息了,PSRECFIELDALL 中记录表中字段(column)的信息,你可以通过调用RECORD的FieldCount属性获取RECORD的列数,然后在代码里循环遍历即可.

参考:
FieldCount
Description
This property returns the total number of fields contained in the record. This value is a number.
This property is read-only.

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 09:39 , Processed in 0.018698 second(s), 18 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表