请问有没有办法把一个表里的记录写到一个源代码里?~~~~

发布于 2022-08-30 07:35:20 字数 198 浏览 11 评论 9

请问有没有办法把一个表里的记录写到一个源代码里?~~~~

比如MYLIB里有一个MYPF01,

是一个含有r1,r2,r3三个字段的表,UNIQUE Key为r1,

如何写程序把这个表里的记录写到

MYLIB/MYSRCF/Mymember1里面呢?

这里先行谢过!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

零時差 2022-09-02 04:25:27

谢谢诸位!

不好意思,这几年用AS400时断断续续的用,而不是一直不间断的连续钻研,水平让大家见笑了。

我请教的这个功能有两个作用,一是自动生成源代码,二是我的想法,也是我这次真实的用意是:

把记录写到一个源代码里,然后下载供其他系统使用。

我知道FTP的,quote type c 1381是可以保证源代码下载的,所以就想用这种方法试验一下

当然别的下载方法也有,诸如用Client access,或者CPYTOIMPF命令生成什么东西再下载,

但对我这次的任务不合适,所以我就想能不能走这条路。

所以请教大家,谢谢!

如果有把PF文件数据直接FTP下的方法更好,

我用CPYTOIMPF在源码中生成后的东西,不知为什么FTP的时候
有些表可以,有些就说码制转换错误,总是不成

谢谢大家

画中仙 2022-09-02 04:25:08

只是下载不必用SOURCE PF吧?普通的PF更好用。

套路撩心 2022-09-02 04:23:22

原帖由 franliu 于 2009-12-8 10:14 发表
srcdat是你用seu编辑的时候系统放作业日期在里面。不知道你写数据进source file有什么用。通常有些动态生成程序的程序,生成源代码的第4代语言有这种要求。有时候用程序内调用ftp也需要用到它。
行号其实没有什 ...

我的C程序写LOG就是SRCPF,member名字就包含启动JOB的日期,在C程序中就用fprintf写。
SRCPF不一定全是源代码。我的INI格式配置文件、通讯日志文件等全是SRCPF

小巷里的女流氓 2022-09-02 04:20:55

楼主的需求还是很常见的,例如把PF的记录转换成 CSV 格式放入 SRCPF中,供FTP下载到UNIX、WINDOWS机器中

不过楼主6年前就注册,却对AS/400 SRCPF的SRCDAT不知道什么意思,太说不过去了。不会连SEU都没用过吧?

裸钻 2022-09-02 03:56:41

SRCDAT:   Date of last update of record.
楼主应该学会自己上网查这类信息。我们可以交流开发经验,没有必要帮你查资料吧?呵呵

一个程序如果写成超出6位数代码行,我想,也是垃圾啦。仅做数据记录存储,可以用pf类型的。

用rpgle程序处理,可以用个ds的数组来装载输入参数指针类型引入的参数串,如一个pf-src下的所有members。这样做,易于代码简化、可读性、可操作性较强。cl就无法处理数组。这只是个人观点。如果应用的确需要cl处理,就只能按照设计规范和流程来处理。

[ 本帖最后由 passthru 于 2009-12-8 10:35 编辑 ]

九八野马 2022-09-02 01:23:19

srcdat是你用seu编辑的时候系统放作业日期在里面。不知道你写数据进source file有什么用。通常有些动态生成程序的程序,生成源代码的第4代语言有这种要求。有时候用程序内调用ftp也需要用到它。
行号其实没有什么用的,除非你生成源代码用于编译,编译列表需要用到它。

那个日期更加是 reference only.

超过32760行左右,你就不能用SEU编辑了

超过999999行,行号就不可能是唯一的了。根据你的用途,可能没有什么关系。

[ 本帖最后由 franliu 于 2009-12-8 10:15 编辑 ]

素染倾城色 2022-09-02 00:28:09

谢谢楼上两位!还有些不明白的地方:

用STRSQL随便看了一下,

第一个,SRCSEQ,应该是源代码的行号,
第三个,SRCDTA,应该是每一行的源码内容,
第二个,SRCDAT,这个的内容是啥意思呢?

SRCSEQ应该是唯一键字吧?6位数,那么有没有可能超过9999.99行呢?
比方说如果是一个上千万条记录的表呢?

三楼先生的意思是让我写成一个模块,在模块里面将表内容写到源码里,然后动态调用它是吗?

多谢诸位指教!

故事未完 2022-09-01 20:36:08

首先先确立一个疑问:
楼主的MYLIB/MYSRCF,这里的‘MYSRCF’是pf-src吗?

如果是仅仅是pf。二楼的方法是基本的,也是通用的。补充一下,还有一种方法可以在rpgle中在F表中用keyword:
FFile1     if   e          k   Disk    Extfile(FilNam) ExtMbr(MbrNam)
F                                            UsrOpn  
这里的FilNam和MbrNam是传入参数。

如果是pf-src,如果定义pf-src的长度是112,这时这个pf-src中存在三个字段:
SRCSEQ     NUMERIC    6,2
SRCDAT      NUMERIC    6,0
SRCDTA      CHARACTER-O    100
这时pf-src member的表现形式是程序名,记录的表现形式是每行的代码。

用rpgle定义Extfile(FilNam) ExtMbr(MbrNam)  UsrOpn的好处就是,MbrNam(s)即多members,可以通过参数传入,close file后,把MbrNam用新的member输入,在open file,就可以达到用不同的member,动态地打开文件的目的。 用ovrdbf的方法则,只能通过cl和rpgle循环来动态打开文件。

[ 本帖最后由 passthru 于 2009-12-8 09:18 编辑 ]

巾帼英雄 2022-08-31 21:04:47

原程序也就是一个有三个子段的文件。

字段1:   SECSRQ   ZONED DECIMAL 6.2
字段2:     SECDAT    ZONED DECIMAL 6.,0
字段3:     SRCDTA    CHARACTER 80 OR LONGER

你用OVRDBF 指定你要存取的 MEMBER, 在RPG里面就可以像使用普通的文件一样处理它了。

[ 本帖最后由 franliu 于 2009-12-8 11:22 编辑 ]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文