免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3446 | 回复: 12
打印 上一主题 下一主题

在cl程序中怎么让输出都输出到spool file [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-06 10:25 |只看该作者 |倒序浏览
我现在都是sndpgmmsg 直接输出到终端上,有什么办法能输出到spool file吗

论坛徽章:
0
2 [报告]
发表于 2007-06-06 10:55 |只看该作者
一般都是执行CL命令后用参数output(*print)把结果输出到SPLF。

论坛徽章:
0
3 [报告]
发表于 2007-06-06 11:00 |只看该作者
谢谢,
我的意思是自己写了一个cl的程序,然后想控制该程序输出到spool file

论坛徽章:
0
4 [报告]
发表于 2007-06-06 11:02 |只看该作者
原帖由 yyangonline 于 2007-6-6 11:00 发表
谢谢,
我的意思是自己写了一个cl的程序,然后想控制该程序输出到spool file

不是很明白你的意思。

控制CLP程序输出到splf?你的目的是想实现什么。
CLP一般用于AS400系统控制。

论坛徽章:
0
5 [报告]
发表于 2007-06-06 11:06 |只看该作者
PGM:
   SNDPGMMSG MSG('asdf')
ENDPGM

这个cl程序运行后,这个asdf被输出在了我调用的终端上,而我现在希望它输出到spool file,怎么实现呢

论坛徽章:
0
6 [报告]
发表于 2007-06-06 11:12 |只看该作者
我的目的就是想编一个cl程序,执行一系列的系统命令,并把输出输出到spool file,
我希望我的程序也能像 wrkactjob output(*print)这样把结果输出到spool file,而不是5250的终端

论坛徽章:
0
7 [报告]
发表于 2007-06-06 11:37 |只看该作者
如果你在5250绿屏上敲命令,F9就可以随时调出历史命令。

如果你想在CLP中跟踪执行命令,你可以参考类似BATCHFTP程序。
如果纯粹是sndpgmmsg,该命令是发送终端提示信息,本身不支持output(*print)参数。其实也没什么意义。

PGM

.....

/*---- BATCH FTP START ------------------------------------*/         
     SETSVF:                                                           
             OVRDBF     FILE(INPUT) TOFILE(QGPL/BATCHFTP) MBR(FTPCMDS)
             OVRDBF     FILE(OUTPUT) TOFILE(QGPL/BATCHFTP) MBR(OUT)   
             FTP        RMTSYS('XXX.XXX.XXX.XXX')                           
             DLTOVR     FILE(INPUT OUTPUT)                             
             RSTOBJ     OBJ(&SRCNAME) SAVLIB(SWIREVER) DEV(*SAVF) +   
                          SAVF(TBASDBLOC/VERSION) RSTLIB(*SAVLIB)      
             MONMSG     MSGID(CPF9999) EXEC(GOTO CMDLBL(ERROR2))      
                                                                       
             CHGVAR     VAR(&SRCNAME) VALUE(' ')                       
             CHGVAR     VAR(&ERROR) VALUE(' ')   
                       
             SNDPGMMSG  MSG('BASIS new version batch ftp +  
             successfully!!!')                 
                                               
GOTO       CMDLBL(START)      

ERROR1:
...

ERROR2:
...
               
.....
END:
        RETURN
        ENDPGM

CLP:FTPCMDS

Columns . . . :    1  71           Browse                        QGPL/BATCHFTP
SEU==>                                                                 FTPCMDS
FMT **  ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7  
        *************** Beginning of data *************************************
0001.00     USER password                                                        
0002.00     CD lib                                                        
0003.00     LCD lib                                                      
0004.00     BIN                                                                 
0005.00     GET xxxxx xxxxx (REPLACE                                       
0006.00     QUIT                                                               
        ****************** End of data ***************************************

*


最终程序跑完后,会写进OUT文件里头:

Columns . . . :    1  71           Browse                        QGPL/BATCHFTP
SEU==>                                                                     OUT
FMT **  ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7  
0009.00  OS/400 is the remote operating system. The TCP/IP version is "V5R3M0".
0010.00 250  Now using naming format "0".                                       
0011.00 257 "QGPL" is current library.                                          
0012.00 Enter an FTP subcommand.                                                
0013.00 >     CD TBASDBLOC                                                      
0014.00 250 "TBASDBLOC" is current library.                                    
0015.00 Enter an FTP subcommand.                                                
0016.00 >     LCD TBASDBLOC                                                     
0017.00 Local working directory is TBASDBLOC                                    
0018.00 Enter an FTP subcommand.                                                
0019.00 >     BIN                                                               
0020.00 200 Representation type is binary IMAGE.                                
0021.00 Enter an FTP subcommand.                                                
0022.00 >     GET VERSION VERSION (REPLACE                                      
0023.00 227 Entering Passive Mode (192,1,4,18,138,91).                          
0024.00 150 Retrieving member VERSION in file VERSION in library TBASDBLOC.     
0025.00 250 File transfer completed successfully.                              
                                                                                
F3=Exit   F5=Refresh   F9=Retrieve   F10=Cursor   F11=Toggle   F12=Cancel      
F16=Repeat find        F24=More keys

论坛徽章:
0
8 [报告]
发表于 2007-06-06 12:08 |只看该作者
感谢两位的回答

PGM

    DCL         VAR(&MSGDTA) TYPE(*CHAR) LEN(80)
    DCL         VAR(&MSGID) TYPE(*CHAR) LEN(7)
    MONMSG      MSGID(CPF0000 MCH0000) EXEC(GOTO CMDLBL(ERROR))
/* =========================================================== */
/*your codes*/
   
dltlib test




/* =========================================================== */
    RETURN


/*ERROR HANDLE*/
ERROR:   RCVMSG      MSGTYPE(*EXCP)   MSGDTA(&MSGDTA) +
                     MSGID(&MSGID)
_________________________________
      这里我捕捉到了dltlib如果错误的输出消息,&msgdta,我就想把这个字符串输出到spool file,该怎么做呢

       ENDPGM

论坛徽章:
0
9 [报告]
发表于 2007-06-06 13:36 |只看该作者
DSPJOBLOG *PRINT  试试

论坛徽章:
0
10 [报告]
发表于 2007-06-06 15:42 |只看该作者
楼上,强!这样假脱机文件的最后一行就应该是程序信息。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP