将qshell(qsh)命令的输出写入本地数据区

时间:2010-05-06 13:02:14

标签: ibm-midrange

我想将qshell命令的输出写入本地数据区,以便程序可以全局使用它。有一些方法可以从stdout文件写入本地数据区。我希望它通过CL完成。紧急谢谢

4 个答案:

答案 0 :(得分:1)

QSH CMD('system chgdtaara dtaara\(qgpl/dataarea\) value\($(echo test)\)')

答案 1 :(得分:0)

我认为你不能从qshell更新* LDA ......因为命令贯穿它,我认为是在一个单独的工作中。

您可能需要考虑使用命名数据队列......您可以使用qshell中的dataq命令。

最好使用键控数据队列...但我不确定如何在dataq命令上指定键。

答案 2 :(得分:0)

使用iSeries dtarea构造为:

wc -l /tmp/mlco02.txt | datarea -w /qsys.lib/qgpl.lib/robtest.dtaara      

先前已创建数据区qgpl/robtest

在这种情况下,我需要IFS文件的行(记录)计数,因此CLp可以获取它并将大文件拆分。

答案 3 :(得分:-1)

QSH CMD('A=`cat /tmp/mlco02.txt | wc -l`;exit $A')
RCVMSG     MSGTYPE( *LAST ) RMV( *NO ) MSGDTA( &MSGDTA ) + 
           MSGID( &MSGID )                                 
           IF ( &MSGID *EQ 'QSH0005' )  DO                 
              CHGVAR &EXITSTS %BIN( &MSGDTA 1 4 )          
ENDDO