我正在使用AS400,我被要求从绿屏调用Web服务.
这怎么可能实现呢?
任何样本COBOL或CL代码都非常有用.
我正在尝试在iSeries上创建一个新命令,其中一个参数必须是使用标准LIBRARY/FILE MEMBER语法的文件名,类似于
MYCMD FILE(MYLIB/MYFILE MYMEMBER)
Run Code Online (Sandbox Code Playgroud)
甚至
MYCMD FILE(MYLIB/MYFILE) MEMBER(MYMEMBER)
Run Code Online (Sandbox Code Playgroud)
我试过了 :
但我找不到如何创建一个接受值为限定对象名称的参数,如与CPYTOIMPF一起使用的FROMFILE参数.
UPDATE
JamesA的答案很好,但不知怎的,我的CL变量中有两个额外的字符:
CMD
PARM KWD(FILE) TYPE(FNAME) PROMPT('CL +
source' 1)
FNAME: ELEM TYPE(FILE) PROMPT('File')
ELEM TYPE(*NAME) LEN(10) PROMPT('Source +
member')
FILE: QUAL TYPE(*NAME) LEN(10)
QUAL TYPE(*NAME) DFT(*CURLIB) SPCVAL(*CURLIB) PROMPT('Library') LEN(10) MIN(0)
Run Code Online (Sandbox Code Playgroud)
CL
PGM PARM(&PFIC &OUTFILE &CODEPAGE)
DCL VAR(&PFIC) TYPE(*CHAR) LEN(32)
DCL VAR(&LIB) TYPE(*CHAR) LEN(10)
DCL VAR(&FILE) TYPE(*CHAR) LEN(10)
DCL VAR(&MEMBER) TYPE(*CHAR) LEN(10)
CHGVAR VAR(&FILE) VALUE(%SST(&PFIC 3 10))
CHGVAR VAR(&LIB) VALUE(%SST(&PFIC 13 10))
CHGVAR VAR(&MEMBER) VALUE(%SST(&PFIC 23 …
Run Code Online (Sandbox Code Playgroud) 是否有iSeries命令将表中的数据导出为CSV格式?
我知道Windows实用程序,但由于这需要自动运行,我需要从CL程序运行它.
如何从CL程序运行存储过程?RUNSQLSTM需要一个源成员,但我只想构建一个命令,以便用户可以轻松地传入变量,因此这不起作用.
我必须在iSeries计算机上更改CL程序.原始CL有一个名为&SEQ的变量.它是一个值为"001"的文本字段.是否有可能在CL中添加一个值使其成为'002'?我不熟悉CL编程,所以我不知道你是否可以在字符变量上做数学函数.谢谢你的帮助!
我需要在CL程序中显式使用当前库名.
CHGVAR &LIB *CURLIB
Run Code Online (Sandbox Code Playgroud)
不起作用(在此行&lib ='*curlib'之后).这应该很简单 - 任何想法?
我有这段代码。
IF COND(%TRIM(&BLANK_VAR) *EQ '') THEN(DO)
CALL PGM(MY_PROGRAM) PARM(&BLANK_VAR)
ENDDO
Run Code Online (Sandbox Code Playgroud)
我想检查是否&BLANK_VAR
是空字符串。但是,由于错误消息,我的程序无法编译:
* CPD0126 30 Operand not valid or operator missing in COND.
Run Code Online (Sandbox Code Playgroud)
这是一个问题%TRIM
吗?我尝试使用%LEN
但它给了我声明的变量的长度,而不是里面的实际数据。
&BLANK_VAR
长度为 10 个字符。我是否必须这样做:
IF COND(&BLANK_VAR *EQ ' ')
Run Code Online (Sandbox Code Playgroud) 从CLLE调用RPGLE时,我应该传递打包的数字字段吗?或者将它们转换为字符传递它们并将它们转换回RPG中的数字.如果推荐前者,这是怎么做到的?