1

我需要明确解释 WebFOCUS Developer Studio 中字符串是如何处理的,尤其是在启动页面和报告本身之间。我在一般如何处理它们的文档中找不到很好的解释。

我的问题归结为单引号,但我不确定添加和删除它们的时间、地点或原因。发送多个值时在定义中使用 & 变量是否存在问题?我以为这只是处理为<option1> OR <option2> OR ...

更具体地说:在我正在处理的报告中,我在启动页面上有一个列表框控件,用户可以在其中选择一个或多个员工来查询他们的 VOIP 记录。由于现在配置了 HTM/FEX,因此报告显示选定的单个员工的记录,但在选择多个员工时不显示任何记录。我想不出一种方法来使这项工作适用于多个选定的人。这可能与我的定义有关。

DEFINE FILE TABLE_NAME ADD
  EMPLOYEE/A55V=
    IF (&EMP_NAME EQ CALLING_PARTY) THEN &EMP_NAME ELSE
    IF (&EMP_NAME EQ ORIGINAL_CALLED) THEN &EMP_NAME ELSE
    IF (&EMP_NAME EQ FINAL_CALLED) THEN &EMP_NAME ELSE 'X';
END

TABLE FILE HOLD_VOIP_DATE_RANGE

PRINT 
 TABLE_NAME.SEG01.EMPLOYEE
 TABLE_NAME.SEG01.CALLING_PARTY AS 'Rep'
 TABLE_NAME.SEG01.ORIGINAL_CALLED
 TABLE_NAME.SEG01.FINAL_CALLED
 TABLE_NAME.SEG01.ORIGINATION_TIME
 TABLE_NAME.SEG01.CONNECT_TIME
 TABLE_NAME.SEG01.DISCONNECT_TIME
 TABLE_NAME.SEG01.ORIGINATION_DATE
 TABLE_NAME.SEG01.CALL_TYPE
WHERE EMPLOYEE EQ &EMP_NAME;

注意:列表框上的多个添加引号属性设置为“打开”。

欢迎反馈。这是我关于 SE 的第一个问题。让我知道是否需要更具体。

4

1 回答 1

0

Web 焦点和变量用作文本替换

-SET &EMP_NAME = 'Bruce Wayne';    
DEFINE FILE TABLE_NAME ADD
  EMPLOYEE/A55V=
    IF (&EMP_NAME EQ CALLING_PARTY) THEN &EMP_NAME ELSE
    IF (&EMP_NAME EQ ORIGINAL_CALLED) THEN &EMP_NAME ELSE
    IF (&EMP_NAME EQ FINAL_CALLED) THEN &EMP_NAME ELSE 'X';
END

TABLE FILE HOLD_VOIP_DATE_RANGE

PRINT 
 TABLE_NAME.SEG01.EMPLOYEE
 TABLE_NAME.SEG01.CALLING_PARTY AS 'Rep'
 TABLE_NAME.SEG01.ORIGINAL_CALLED
 TABLE_NAME.SEG01.FINAL_CALLED
 TABLE_NAME.SEG01.ORIGINATION_TIME
 TABLE_NAME.SEG01.CONNECT_TIME
 TABLE_NAME.SEG01.DISCONNECT_TIME
 TABLE_NAME.SEG01.ORIGINATION_DATE
 TABLE_NAME.SEG01.CALL_TYPE
WHERE EMPLOYEE EQ &EMP_NAME;

执行后将如下所示

-SET &EMP_NAME = 'Bruce Wayne';    
DEFINE FILE TABLE_NAME ADD
  EMPLOYEE/A55V=
    IF (Bruce Wayne EQ CALLING_PARTY) THEN Bruce Wayne ELSE
    IF (Bruce Wayne EQ ORIGINAL_CALLED) THEN Bruce Wayne ELSE
    IF (Bruce Wayne EQ FINAL_CALLED) THEN Bruce Wayne ELSE 'X';
END

TABLE FILE HOLD_VOIP_DATE_RANGE

PRINT 
 TABLE_NAME.SEG01.EMPLOYEE
 TABLE_NAME.SEG01.CALLING_PARTY AS 'Rep'
 TABLE_NAME.SEG01.ORIGINAL_CALLED
 TABLE_NAME.SEG01.FINAL_CALLED
 TABLE_NAME.SEG01.ORIGINATION_TIME
 TABLE_NAME.SEG01.CONNECT_TIME
 TABLE_NAME.SEG01.DISCONNECT_TIME
 TABLE_NAME.SEG01.ORIGINATION_DATE
 TABLE_NAME.SEG01.CALL_TYPE
WHERE EMPLOYEE EQ Bruce Wayne;

我的猜测是您在 &variable 之外缺少额外的引号

于 2014-05-20T18:42:44.837 回答