在qshell里运行cobol程序的输出问题

发布于 2022-08-26 01:20:18 字数 281 浏览 18 评论 5

我是一个标准的cobol+as400的菜鸟。。最近的一个项目的porting,要把cobol程序移植到400,但是需要在qshell下运行,并得到结果。
问题是,qshell里面运行编译好的程序,就是得不到结果(结果是用display打印到标准输出的)。。而用call方式在job log里可以看到结果,
terminal session 就是闪一下。。。实在不知道怎么回事。。

我试了试最简单的hello world  也是一样。。

大家帮帮忙吧!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

寄风 2022-08-29 19:27:43

Running Programs within Qshell

Qshell doesn't use the call command to start a program. Instead, you must type the program's name, in IFS style. The following example illustrates how a program can run within Qshell:

/qsys.lib/mylib.lib/myshellpgm.pgm

-------------

Usage for database operation

CL has a major restriction of using Data Manipulation Language (DML) such as Update, insert or selected delete with the DB2/400 database. To achieve this, we use roundabout ways such as RUNSQLSTM, writing new RPG program, etc.

Qshell makes life easier by using the following command:
Syntax: QSH CMD('db2 "<Db2/400 sql statement">)

Example:
QSH CMD('db2 "UPDATE MYLIB.MYFILE SET MYFLD = ''P''" ')
QSH CMD('db2 "INSERT INTO MYLIB.MYTABLE VALUES(''jagannath'', 104.20)"')

Things to note:

Usage for IFS operation

It is always a headache to handle IFS files using RPG programs. We have to write separate RPG programs using C APIs to handle this functionality. But QShell commands ease this process.

Syntax:

To replace the contents of the IFS and write the fresh text
QSH CMD('print It is working > /home/mydir/myfile.txt')

To append to the contents of the IFS file in next line
QSH CMD('print It is working >> /home/mydir/myfile.txt')

软糯酥胸 2022-08-29 19:27:33

谢谢您,这个是因为porting的这个framework原来是在shell环境里。。。目前很多的工作已经都再qshell里做了。。

悟红尘 2022-08-29 19:27:27

COBOL为什么要在QSH运行? 在os/400不能直接运行吗?

烟若柳尘 2022-08-29 19:19:53

是的,我很多c程序也是在qsh下运行,是可以的。

饮惑 2022-08-26 07:32:30

qshell 是不是STRQSH  进入的那个$

我最近在QSHELL 里玩JAVA  ,  JAVA HELLO 可以运行。

qsh 里是ASCII编码的, AS400自带的COBOL 是STREAM方式存储和编码的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文