格式化不适用于4gl [USING子句]

时间:2011-06-23 11:11:17

标签: informix 4gl

我试图按如下方式格式化输出变量:

场景1:

LET msg = "Roopesh Majeti here "
           Empno Using "&&&&&"
Call Logmsg(msg)

在这种情况下,empno被格式化为5位[我应该说空格]并显示。

场景2:

Let c_check = "&&"
Let msg ="Roopesh Majeti here"
          Empno using c_check
Call Logmsg(msg)

在这里,我的期望是,无论c_check的价值如何[比如说10& s],都应该将empno格式化为10个位置/空格。

但它没有按预期工作。

我在这里遗漏了什么吗?

1 个答案:

答案 0 :(得分:1)

你没有说你得到了什么,这使得很难知道它是如何工作的。

您有一些小的语法错误,在常量字符串后缺少逗号。

您不会显示msgc_check的声明;问题可能是消息被截断了吗?

使用时会得到什么:

DISPLAY "<<", msg CLIPPED, ">>"
DISPLAY "<<", msg,         ">>"

您应该能够向我们展示这样一个完整的程序及其输出:

MAIN

    DEFINE msg      CHAR(64)
    DEFINE c_check  CHAR(20)
    DEFINE empno    INTEGER

    LET empno = 12345
    LET msg = "Roopesh Majeti here ", empno Using "&&&&&"
    DISPLAY "<<", msg CLIPPED, ">>"
    DISPLAY "<<", msg,         ">>"

    LET empno = 987654321
    LET c_check = "&&"
    LET msg ="Roopesh Majeti here", empno USING c_check
    DISPLAY "<<", msg CLIPPED, ">>"
    DISPLAY "<<", msg,         ">>"

END MAIN