|
最近在做报表查询程序。每次查询结果都生成临时文件在一个lib下。 程序中没控制查询完毕清除临时文件。所以想办法做了个cl程序加入作业调度里凌晨清除文件。 程序: PGM /*endpf 这个文件事先CRTPF,我指定长度300就可以了 */ DCLF FILE(SBGL/ENDPF) DCL VAR(&PFNAME) TYPE(*CHAR) LEN(10) DCL VAR(&LEIXIN) TYPE(*CHAR) LEN(4) DCL VAR(&SHUXIN) TYPE(*CHAR) LEN(2) /*这里dsplib cl 命令 参数 output(*print) 生成spool file */ DSPLIB LIB(TEMPPF) OUTPUT(*PRINT) /*先清除一下储存spool file信息的pf */ CLRPFM FILE(ENDPF) /* 将DSPLIB LIB(TEMPPF) 生成的信息,也就是参数output(*)时在屏幕上显示的信息 cpy到endpf中*/ CPYSPLF FILE(QPDSPLIB) TOFILE(SBGL/ENDPF) + CRTDATE(*LAST) /*循环读取 */ BEGIN: RCVF RCDFMT(ENDPF) MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(END)) /*将每行信息存到本地数据区中 */ CHGDTAARA DTAARA(*LDA) VALUE(&ENDPF) /*截取数据区相应的部分 ,这再不同应用中位置肯定不一样的……,所以,确定位置时,debug一下,在上一步结束时,dspdtaara,然后……数吧*/ /*想获取的信息定义好…… */ RTVDTAARA DTAARA(*LDA (5 10)) RTNVAR(&PFNAME) RTVDTAARA DTAARA(*LDA (18 4)) RTNVAR(&LEIXIN) RTVDTAARA DTAARA(*LDA (27 2)) RTNVAR(&SHUXIN) /*如果类型是 *file …… */ IF COND(&LEIXIN = 'FILE') THEN(DO) DLTF FILE(TEMPPF/&PFNAME) ENDDO GOTO CMDLBL(BEGIN) END: ENDPGM 看到以前的帖子 : http://bbs.chinaunix.net/viewthr …… F9%D3%D0&page=1 感觉这种将各种cl 命令得到的结果"导"出来,再……很实用的。应该改改程序就可以实现其它效果的。 创建物理文件 (CRTPF) 入选择,并按“执行”键。 件 . . . . . . . . . . . . . FILE 库 . . . . . . . . . . . . . *CURLIB 文件 . . . . . . . . . . . . SRCFILE QDDSSRC 库 . . . . . . . . . . . . . *LIBL 成员 . . . . . . . . . . . . SRCMBR *FILE 录长度,如果没有 DDS . . . . RCDLEN 300 /*CRTPF ENDPF */ 成严重性级别 . . . . . . . . GENLVL 20 记严重性级别 . . . . . . . . FLAG 0 件类型 . . . . . . . . . . . FILETYPE *DATA 员(如果需要的话) . . . . . MBR *FILE 户指定的 DBCS 数据 . . . . . IGCDTA *NO 本描述 . . . . . . . . . . . TEXT *SRCMBRTXT Linux联盟收集整理
 |
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。
| 原始作者:佚名 |
录入时间:2007-1-2 18:07:20 |
| 信息来源:不详 |
投稿信箱:itqoo@126.com |
|
|
 |
|