首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在WebFOCUS中如何处理&VARCHAR?

在WebFOCUS中如何处理&VARCHAR?
EN

Stack Overflow用户
提问于 2014-03-12 22:39:07
回答 1查看 653关注 0票数 1

我需要明确解释WebFOCUS Developer Studio中如何处理字符串,特别是在发布页面和报告本身之间。我在文件中找不到一个很好的解释,说明它们一般是如何处理的。

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

更具体地说:在我正在编写的报告中,我在启动页面上有一个列表框控件,用户可以在其中选择一个或多个员工来查询他们的VOIP记录。由于HTM/FEX是现在配置的,报告将显示单个员工的记录,但如果选择多个员工,则不会显示任何记录。我想不出有什么办法能让多个被选中的人做到这一点。这可能和我的定义有关。

代码语言:javascript
复制
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;

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

欢迎反馈。这是我关于SE的第一个问题。如果我需要更具体的话请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-20 18:42:44

Web &变量作为文本替换

代码语言:javascript
复制
-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;

一旦执行就会像这样

代码语言:javascript
复制
-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;

我猜您在&变量之外缺少了额外的引号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22365405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档