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