2014-03-12 98 views
1

我需要一個關於如何在WebFOCUS Developer Studio中處理字符串的明確說明,特別是在啓動頁面和報告本身之間。我無法在文檔中找到一個很好的解釋,說明如何處理它們。WebFOCUS如何處理&VARCHAR?

我的問題歸結爲單引號,但我不確定何時,何地或爲何添加和刪除它們。在發送多個值時,在定義中使用&變量時是否存在問題?我認爲這只是處理爲<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; 

注意:列表框上的多個Add Quotes屬性設置爲'ON'。

歡迎反饋。這是我對SE的第一個問題。讓我知道如果我需要更具體。

回答

0

網絡焦點&變量的工作作爲一個文本替換

-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; 

我的猜測是你缺少的&變量

+0

這是外界額外的引號很高興看到完成,所以謝謝你的時間。它剝去了文本替換的引號。我的問題是選擇多個名稱時,因爲只有一個被選中,報告可以根據需要運行。我最終得到它的工作,但可惜我不記得如何,並且實習結束了5月1日。 再次感謝! – CaptainMarvel

+0

你的意思是像IF X IN(&ARRAY)? – Cass

+0

如果我沒有記錯,這些值是從HTML表單中的動態填充列表框控件中提取的。多個屬性設置爲「開」。 – CaptainMarvel