当前位置:首页 » 专业资讯
开发技术指南» 文章正文
    引言: AS/400开发经验点滴(二) 四.一个批量修改文件属性的工具 AS/400上的每个文件都带有大量的属性,文件的属性是在创建文件的时候指定的。
 

 

 ·domino for as/400一些知识的普及    »显示摘要«
    摘要: =========以下为以前没有整理过的笔记,可能有点语句不通====== 当你在400上安装domino的时候,安装过程在400上创建一些新的object,这些库是以ifs文件系统形式存在。 这些新的object包括: × qnotes user profile。 该用户仅仅被用于os/400的安全机制下面,因此,它没有密码,你也不能够使用该用 户登陆as/400系统。 注意: qnotes用户必须是所有domino object的 owner......
    摘要: 如何查用的是哪一个源代码创建的文件 http://www.abc400.com/sample/cl/a998which-source-member-was-used-to-create-a-file.txt mamei 回复于:2003-11-06 11:54:04 顶! zswqlx 回复于:2003-11-12 04:57:19 file用dspobjd命令。pgm用dsppgm命令。 aeiou 回复于:2......


AS/400开发经验点滴(二):一个批量修改文件属性的工具

as/400开发经验点滴(二) 【相关文章:Win2000使用技巧三则

【扩展阅读:win2000如何缩短启动时间

【扩展信息:win2000中的记事本

四.一个批量修改文件属性的工具

as/400上的每个文件都带有大量的属性,文件的属性是在创建文件的时候指定的。在实际应用过程中,可能会需要改变这些文件属性。以pf文件为例,我们可能需要修改文件的member size,maximum members,maximum record wait time等等。修改物理文件(pf)属性命令是chgpf,修改逻辑文件(lf)命令是 chglf,遗憾的是这些命令一次只能修改一个文件。如果假设有一个库,库下面有几千个物理文件需要一次性统一修改文件属性,那该怎么办?as/400并没有提供这样的命令。

我做了一个工具命令,可以实现对一个库下的所有文件属性进行批量修改,下面以修改文件reuse deleted records属性为例来介绍这个工具命令,并附带全部源码。文件reuse deleted records属性是表示记录在文件物理空间内被插入的方式,缺省情况下reuse deleted records属性为*no,这表示新记录将追加到文件尾部,如果reuse deleted records属性修改为*yes,这表示物理文件中原已删除记录物理空间可以重复使用,当有新记录要加入时,系统会优先把新记录插入到原已删除记录空间里,只有当所有被删除记录空间都被重新使用后,新加记录才会从文件尾部开始追加。这个属性对于文件记录非常多、重整所费时间很长的情况下,还是很有用的。

制作修改一个库下所有文件属性的思路是首先应把该库下的所有物理文件名取出来,然后才能循环一个个地修改。以下是主要步骤:

1. 提取某库下所有物理文件名

这主要是通过利用dspfd来实现的。该命令是用来显示文件描述(file description)的,它可以一次显示一个库下的一文件描述,也可以一次显示一个库下的所有文件描述。可以在output选项里填入*outfile,并在outfile选项里填入接收文件名,就可以把dspfd的显示内容输出到一个临时pf文件中。该临时文件就包含有文件名字段atfile以及库名字段atlib。例如下面dspfd命令就是把定义某库下的所有物理文件名及其基本属性(*basatr)输出到qgpl库下的 templibf文件里:

[code:1:b3ca3ab88b]dcl        var(&calib) type(*char) len(10)  /*定义一个库名变量*/

dspfd      file(&calib/*all) type(*basatr) +  

             output(*outfile) fileatr(*pf) +  

             outfile(qgpl/templibf)       [/code:1:b3ca3ab88b]

2. 对包含有文件名的临时文件进行加工

其实因为上面已经把文件名输出到了一个pf文件里,所以这一步可不要。但为了查看方便,我还是把文件名从templibf中提出写入到一个更简单的pf文件中。先创建一个名为dtafname的物理文件,如下:


...   下一页
    摘要: 在windows下安装ibm as/400 client access for windows 95/nt, 通过网上邻居copy其file/member。 或: xcopy \\as400systemname\qsys.lib\test.lib\test.file\*.mbr c: 注意:这样拷贝过来的文件是ebcdic编码,需要进行转换。 michael9406 回复于:2003-11-05 13......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE