| xuguopeng 回复于:2004-11-04 19:53:39 |
| 如果我没理解错,你的意思是说修改了PF的结构可以不重新编译??
不可能吧??明天我去试试 LEVEL CHECK也起这个作用? |
| magket 回复于:2004-11-04 20:08:47 |
| 是不是真的啊,大家用了这么久怎么都不知道呢?
问题是这样加完,用到这个表的程序要不要改呢? |
| hanyu 回复于:2004-11-05 08:47:25 |
| 是的,一旦修改一个PF lvlchk (*no),所有用到该文件的程序,都不会再检查Record Format level identifier,也就是不会有lvlchk 报错。
在作业这一层,可以用ovrdbf FILE(XXXX) LVLCHK(*no)临时取消。 |
| xuguopeng 回复于:2004-11-05 09:15:28 |
| 不错 试过了 果然灵~~ 加精~
好久没有看到这种小技巧了 |
| winner_530 回复于:2004-11-05 09:43:33 |
| 这个命令是可以向数据库追加多个新字段,但不能在任何两个已存在的字段中间加入一个新的字段吧!?
还有这个命令是不能改变字段类型的吧!? 而且如果该数据库中有P类型的字段时,这样操作是会使该类型字段的数据记录出现乱码的吧!? |
| qingzhou 回复于:2004-11-05 09:50:27 |
| 不新鲜了。。。
<当物理文件发生改变时,是否有方法让程序不用重新编译?>---newbiezhang [url]http://www.chinaunix.net/jh/10/136017.html[/url] |
| tom9030 回复于:2004-11-05 09:55:14 |
| [quote:e77b120e13="winner_530"]这个命令是可以向数据库追加多个新字段,但不能在任何两个已存在的字段中间加入一个新的字段吧!?
还有这个命令是不能改变字段类型的吧!? 而且如果该数据库中有P类型的字段时,这样操作是会使该类型字段的数据?.........[/quote:e77b120e13] 应该不能在任何两个已存在的字段中间加入一个新的字段! [quote:e77b120e13] 不新鲜了。。。 <当物理文件发生改变时,是否有方法让程序不用重新编译?>---newbiezhang http://www.chinaunix.net/jh/10/136017.html [/quote:e77b120e13] 可惜我没早看到这个帖子, :lol: |
| 暴走族 回复于:2004-11-05 10:16:55 |
| 呵呵,我还以为是不用重编译RPG程序的方法呢 |
| winner_530 回复于:2004-11-05 11:22:52 |
| 因为我以前就这么做的,发现这是一个杀鸡取卵的办法,不能真正用在实际的生产环境中的,否则会给系统带来难以预料的隐患的!
这种方法可以当作一个技巧收藏,但劝大家不要用在生产环境中呀!对于程序员来说还稍稍好一点,但对一个系统管理员来说就不好玩了! 当然这是我得个人见解! |
| xuguopeng 回复于:2004-11-05 12:03:49 |
| 当然 生产环境我都不允许有LEVEL CHECK改为*NO的 |
| bpcsusr 回复于:2004-11-05 12:50:23 |
| CHGPF是对某些改变不必重编译,但也要看OS的版本,以前在3版本上应该不可以,但我在V4R4上根据用户要求该属性时是比较好用的. |
| ar6400 回复于:2004-11-05 15:35:11 |
| 确实要慎用。没有太多实用意义。
在开发小组里,谁要是这么做了,一定要害死一大堆人。 |
| michael9406 回复于:2004-11-05 16:27:09 |
| yes, use the chgpf command. |
| Frank.Fan 回复于:2004-11-05 16:42:07 |
| 不错,我正好要改一个在用的PF字段的大小。
另外,我现在发现我现在的400上没有DSPFLD这个命令,不知能否直接将这个命令copy上去用。 |
| ╰●-●╯ 回复于:2004-11-05 16:45:43 |
| 請教一下,Level Check改為*NO會給資料造成什麼損害呢?
因為我們有一些PF確實是這樣去用的! 如果這樣會造成損害,為何IBM會允許使用者去修改Level Check項目呢? 學習中,請各位指教,謝謝! |
| xuguopeng 回复于:2004-11-06 15:01:27 |
| 我个人比较肤浅的理解:
如果一个程序使用了PF,DSPF,RPG等等吧 那么理论上最合理的应该是先有FILE,然后再有PGM 如果我修改了FILE,FILE的创建日期会比PGM的新,系统就会LEVEL CHECK(也就是说系统会检验PGM以及FILE的创建时间) 解决的办法就是重新编译PGM(使他的创建时间更新) 如果使用一个FILE的PGM有N个,重新编译的工作量很大,临时的解决方法就是LEVEL CHECK改为*NO 现在我还不知道LEVEL CHECK改为*NO的后果,也不敢尝试 ,呵呵 有经验的大虾出来讲解一下吧 |
| moonlight 回复于:2004-11-06 17:25:59 |
| 所以在设计PF时应在最后几位多预留一些字段以备不时之需。至于在PF中间临时加字段的习惯也很不好,字段顺序似可考虑利用LF整合。 |
| michael9406 回复于:2004-11-07 10:42:24 |
| 需要些时日,AS400中的数据库也不需要更改过字段,或者增加过字段,或者更改字段属性后重编译RPG了。。。。
我们试目以待 |