[CLOSE] FOC258 FIELDNAME OR COMPUTATIONAL ELEMENT NOT RECOGNIZED:
Hi,
In IA I'm trying to define a column, but I keep getting:
FOC258 FIELDNAME OR COMPUTATIONAL ELEMENT NOT RECOGNIZED:[my selected Column(Field) Name]
but the Column is right there.
I did couple of Join before Define the Field:
-*COMPONENT=Join_J001 JOIN INNER BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.RECEIPT_SN AND BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.IMPORT_TIME IN SOURCE_HY/BIL_RECEIPT_DETAIL TO UNIQUE BIL_RECEIPT.BIL_RECEIPT.RECEIPT_SN AND BIL_RECEIPT.BIL_RECEIPT.IMPORT_TIME IN SOURCE_HY/BIL_RECEIPT TAG J001 AS J001 END -*COMPONENT=Join_J002 JOIN LEFT_OUTER J001.BIL_RECEIPT.DEPT_CODE IN SOURCE_HY/BIL_RECEIPT_DETAIL TO UNIQUE PUB_ACC_DEPT.PUB_ACC_DEPT.ACC_DEPT IN SOURCE_HY/PUB_ACC_DEPT TAG J002 AS J002 END -*COMPONENT=Join_J003 JOIN LEFT_OUTER FILE SOURCE_HY/BIL_RECEIPT_DETAIL AT BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.ACCOUNT_ID TO UNIQUE FILE source_hy/bil_code AT BIL_CODE.BIL_CODE.BIL_CODE_ID TAG J003 AS J003 WHERE J003.BIL_CODE.BIL_TYPE_ID EQ 'Account_Fee'; END -*COMPONENT=Join_J004 JOIN LEFT_OUTER FILE SOURCE_HY/BIL_RECEIPT_DETAIL AT J003.BIL_CODE.BIL_CODE_NAME TO UNIQUE FILE source_hy/bil_code AT BIL_CODE.BIL_CODE.BIL_CODE_ID TAG J004 AS J004 WHERE J004.BIL_CODE.BIL_TYPE_ID EQ 'Account_Name'; END
My objective is to Define Bil_Code_Name to "New Field Name" and new format(from A30V to A100)
any idea why IA can not recognized the column?This message has been edited. Last edited by: nox,
WebFOCUS v8.2.06 , Windows
October 31, 2019, 07:13 AM
MartinY
It could be several reasons
Please post the whole code and exact error is it's displayed
WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF In Focus since 2007
October 31, 2019, 08:11 AM
BabakNYC
1. Are you joining these tables in InfoAssist or are they coming from a Reporting Object or a Cluster Synonym?
2. Where in the code is the error pointing to? Usually, you get a line number where WebFOCUS first tried to use the field it doesn't recognize.
3. Are you creating the DEFINE in InfoAssist or is it in the Master and/or Reporting Object?
4. At what point do you get this error in InfoAssist? I have to assume you're seeing this when you create the DEFINE.
5. Have you made any changes to the code generated by InfoAssist using the text editor?
WebFOCUS 8206, Unix, Windows
October 31, 2019, 10:43 PM
nox
Hi,
I wanted to define a column name 'account_id' by BIL_CODE_NAME.
Here is Exact Error Message that show up when I try DEFINE 'account_id':
(FOC258) FIELDNAME OR COMPUTATIONAL ELEEMENT NOT RECOGNIZED: J004.BIL_CODE.BIL_CODE_NAME 0 NUMBER OF RECORDS IN TABLE=10 LINES=10 (IA_191101_103826-1)(IA_191191_103826-1)
and here is my code (before DEFINE 'account_id') :
ENGINE INT CACHE SET ON SET PAGE-NUM=NOLEAD SET SQUEEZE=ON SET HTMLCSS=ON *-HOLD_SOURCE -DEFAULTH &WF_SUMMARY='Summary'; -DEFAULTH &WF_TITLE='WebFOCUS Report'; TABLE FILE source_hy/bil_code BY BIL_CODE.BIL_CODE.BIL_CODE_ID WHERE BIL_CODE.BIL_CODE.BIL_TYPE_ID EQ 'Account_Fee'; ON TABLE HOLD AS bil_code_hold FORMAT BINARY ON TABLE NOTOTAL ON TABLE SET CACHELINES 100 ON TABLE SET ASNAMES SUBST ON TABLE SET HOLDATTRS ON ON TABLE SET HOLDLIST PRINTONLY ON TABLE SET ASNAMES SUBST ON TABLE SET HOLDATTRS ON ON TABLE SET HOLDLIST PRINTONLY ON TABLE SET STYLE * INCLUDE=IBFS:/FILE/IBI_HTML_DIR/ibi_themes/Warm.sty,$ TYPE=REPORT, TITLETEXT=&WF_TITLE.QUOTEDSTRING, SUMMARY=&WF_SUMMARY.QUOTEDSTRING, ORIENTATION=LANDSCAPE, $ ENDSTYLE END -RUN *-HOLD_SOURCE -*COMPONENT=Join_J001 JOIN INNER BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.RECEIPT_SN AND BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.IMPORT_TIME IN SOURCE_HY/BIL_RECEIPT_DETAIL TO UNIQUE BIL_RECEIPT.BIL_RECEIPT.RECEIPT_SN AND BIL_RECEIPT.BIL_RECEIPT.IMPORT_TIME IN SOURCE_HY/BIL_RECEIPT TAG J001 AS J001 END -*COMPONENT=Join_J002 JOIN LEFT_OUTER J001.BIL_RECEIPT.DEPT_CODE IN SOURCE_HY/BIL_RECEIPT_DETAIL TO UNIQUE PUB_ACC_DEPT.PUB_ACC_DEPT.ACC_DEPT IN SOURCE_HY/PUB_ACC_DEPT TAG J002 AS J002 END -*COMPONENT=Join_J003 JOIN LEFT_OUTER FILE SOURCE_HY/BIL_RECEIPT_DETAIL AT BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.ACCOUNT_ID TO UNIQUE FILE source_hy/bil_code AT BIL_CODE.BIL_CODE.BIL_CODE_ID TAG J003 AS J003 WHERE J003.BIL_CODE.BIL_TYPE_ID EQ 'Account_Fee'; END -*COMPONENT=Join_J004 JOIN LEFT_OUTER FILE SOURCE_HY/BIL_RECEIPT_DETAIL AT J003.BIL_CODE.BIL_CODE_NAME TO UNIQUE FILE source_hy/bil_code AT BIL_CODE.BIL_CODE.BIL_CODE_ID TAG J004 AS J004 WHERE J004.BIL_CODE.BIL_TYPE_ID EQ 'Account_Name'; END -*COMPONENT=Define_BIL_RECEIPT_DETAIL DEFINE FILE SOURCE_HY/BIL_RECEIPT_DETAIL IMPORT_DATE/YYMD=BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.IMPORT_TIME ; recieve/D12.2=BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.RECEIVE_AMT + BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.DISCOUNT_AMT ; END -DEFAULTH &WF_SUMMARY='Summary'; -DEFAULTH &WF_TITLE='WebFOCUS Report'; TABLE FILE SOURCE_HY/BIL_RECEIPT_DETAIL SUM recieve BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.RECEIVE_AMT AS ('paid', BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.RECEIVE_AMT, 'paid' ) BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.DISCOUNT_AMT AS ('discount', BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.DISCOUNT_AMT, 'discount' ) BY BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.RECEIPT_SN BY BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.IMPORT_TIME BY J001.BIL_RECEIPT.DEPT_CODE BY J002.PUB_ACC_DEPT.ACC_DEPT_NAME BY J004.BIL_CODE.BIL_CODE_ID BY J004.BIL_CODE.BIL_CODE_NAME AS ('account_id', J004.BIL_CODE.BIL_CODE_NAME, 'account_id' ) WHERE IMPORT_DATE GE &IMPORT_DATE_S.(|FORMAT=YYMD,REQUIRED=TRUE).匯入時間起:.QUOTEDSTRING AND IMPORT_DATE LE &IMPORT_DATE_E.(|FORMAT=YYMD,REQUIRED=TRUE).匯入時間迄:.QUOTEDSTRING AND J001.BIL_RECEIPT.SOURCE_ID EQ &SOURCE_ID.(|FORMAT=A1,REQUIRED=TRUE).來源OEI, type_id=50:.QUOTEDSTRING AND BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.ACCOUNT_ID EQ '50' OR '81'; ON TABLE HOLD AS union_part1 FORMAT BINARY ON TABLE NOTOTAL ON TABLE SET CACHELINES 100 ON TABLE SET ASNAMES SUBST ON TABLE SET HOLDATTRS ON ON TABLE SET HOLDLIST PRINTONLY ON TABLE SET GRWIDTH 1 ON TABLE SET ASNAMES SUBST ON TABLE SET HOLDATTRS ON ON TABLE SET HOLDLIST PRINTONLY ON TABLE SET STYLE * INCLUDE=IBFS:/FILE/IBI_HTML_DIR/ibi_themes/Warm.sty,$ TYPE=REPORT, TITLETEXT=&WF_TITLE.QUOTEDSTRING, SUMMARY=&WF_SUMMARY.QUOTEDSTRING, ORIENTATION=LANDSCAPE, $ ENDSTYLE END -RUN *-HOLD_SOURCE -*COMPONENT=Join_J005 JOIN INNER BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.RECEIPT_SN AND BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.IMPORT_TIME IN SOURCE_HY/BIL_RECEIPT_DETAIL TO UNIQUE BIL_RECEIPT.BIL_RECEIPT.RECEIPT_SN AND BIL_RECEIPT.BIL_RECEIPT.IMPORT_TIME IN SOURCE_HY/BIL_RECEIPT TAG J005 AS J005 END -*COMPONENT=Join_J006 JOIN LEFT_OUTER J005.BIL_RECEIPT.DEPT_CODE IN SOURCE_HY/BIL_RECEIPT_DETAIL TO UNIQUE PUB_ACC_DEPT.PUB_ACC_DEPT.ACC_DEPT IN SOURCE_HY/PUB_ACC_DEPT TAG J006 AS J006 END -*COMPONENT=Join_J007 JOIN LEFT_OUTER FILE SOURCE_HY/BIL_RECEIPT_DETAIL AT BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.ACCOUNT_ID TO UNIQUE FILE source_hy/pub_syscode AT PUB_SYSCODE.PUB_SYSCODE.CODE_ID TAG J007 AS J007 WHERE J007.PUB_SYSCODE.TYPE_ID EQ 41; END -*COMPONENT=Define_BIL_RECEIPT_DETAIL DEFINE FILE SOURCE_HY/BIL_RECEIPT_DETAIL ADD IMPORT_DATE/YYMD=BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.IMPORT_TIME ; END -DEFAULTH &WF_SUMMARY='Summary'; -DEFAULTH &WF_TITLE='WebFOCUS Report'; -DEFAULT &IMPORT_DATE_S = _FOC_NULL; -DEFAULT &IMPORT_DATE_E = _FOC_NULL; -DEFAULT &SOURCE_ID = _FOC_NULL; TABLE FILE SOURCE_HY/BIL_RECEIPT_DETAIL BY BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.RECEIPT_SN BY BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.IMPORT_TIME BY J005.BIL_RECEIPT.DEPT_CODE BY J006.PUB_ACC_DEPT.ACC_DEPT_NAME BY J007.PUB_SYSCODE.CODE_ID BY J007.PUB_SYSCODE.CODE_NAME WHERE IMPORT_DATE GE &IMPORT_DATE_S.(|FORMAT=YYMD).匯入時間起:.QUOTEDSTRING AND IMPORT_DATE LE &IMPORT_DATE_E.(|FORMAT=YYMD).匯入時間迄:.QUOTEDSTRING AND J001.BIL_RECEIPT.SOURCE_ID EQ &SOURCE_ID.(|FORMAT=A1).來源OEI, type_id=50:.QUOTEDSTRING AND BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.ACCOUNT_ID EQ '50' OR '81'; ON TABLE HOLD AS union_part2 FORMAT BINARY ON TABLE NOTOTAL ON TABLE SET CACHELINES 100 ON TABLE SET GRWIDTH 1 ON TABLE SET ASNAMES SUBST ON TABLE SET HOLDATTRS ON ON TABLE SET HOLDLIST PRINTONLY ON TABLE SET ASNAMES SUBST ON TABLE SET HOLDATTRS ON ON TABLE SET HOLDLIST PRINTONLY ON TABLE SET STYLE * INCLUDE=IBFS:/FILE/IBI_HTML_DIR/ibi_themes/Warm.sty,$ TYPE=REPORT, TITLETEXT=&WF_TITLE.QUOTEDSTRING, SUMMARY=&WF_SUMMARY.QUOTEDSTRING, ORIENTATION=LANDSCAPE, $ ENDSTYLE END -RUN
-RUN
WebFOCUS v8.2.06 , Windows
November 05, 2019, 02:21 PM
BabakNYC
In the TABLE request right before the DEFINE, you have a
quote:
BY J004.BIL_CODE.BIL_CODE_NAME AS ('account_id', J004.BIL_CODE.BIL_CODE_NAME, 'account_id' )
Then you have
ON TABLE HOLD AS union_part1 FORMAT BINARY
and
ON TABLE SET ASNAMES SUBST
I've no idea what ASNAMES SUBST does but perhaps it's effecting the column names being held in union_part1.
Are you modifying the code using the Editor after you create it in InfoAssist?
WebFOCUS 8206, Unix, Windows
November 06, 2019, 08:14 PM
nox
Hi,
Babak thank you for your reply, yes I did use text editor to modify my code after IA(because in IA cannot do "Union All") I think the issues occurs at using column's name same as in Hold table, and it cause confusion to recognize the column.
WebFOCUS v8.2.06 , Windows
November 07, 2019, 07:47 AM
MartinY
JOIN LEFT_OUTER FILE SOURCE_HY/BIL_RECEIPT_DETAIL AT J003.BIL_CODE.BIL_CODE_NAME
TO UNIQUE FILE source_hy/bil_code AT BIL_CODE.BIL_CODE.BIL_CODE_ID TAG J004 AS J004
WHERE J004.BIL_CODE.BIL_TYPE_ID EQ 'Account_Name';
END
Don't know your table content/structure but according to the above BIL_CODE.BIL_CODE_NAME exist in J003 not J004 In J004 it's BIL_CODE.BIL_CODE.BIL_CODE_ID In this situation I think that J004.BIL_CODE.BIL_CODE_NAME refer to the TAG name J004 (TAG J004) and not the join name J004 (AS J004)
If you want to refer to a specific part of the join I normally do the following
JOIN LEFT_OUTER FILE SOURCE_HY/BIL_RECEIPT_DETAIL AT J003.BIL_CODE.BIL_CODE_NAME TAG T3
TO UNIQUE FILE source_hy/bil_code AT BIL_CODE.BIL_CODE.BIL_CODE_ID TAG T4 AS J004
WHERE J004.BIL_CODE.BIL_TYPE_ID EQ 'Account_Name';
END
Then you can refer to
T3.BIL_CODE_NAME
T4.BIL_CODE_ID
Also, what are and from where come from the below AS syntax ?
AS ('account_id', J004.BIL_CODE.BIL_CODE_NAME, 'account_id' )
AS ('paid', BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.RECEIVE_AMT, 'paid' )
AS ('discount', BIL_RECEIPT_DETAIL.BIL_RECEIPT_DETAIL.DISCOUNT_AMT, 'discount' )
AFAIK it must be something such as this : AS 'text1,text2,text3' and this syntax is only relevant for a report, not a hold file. No coma is authorized (supported) with AS name for HOLD file Must not be enclosed with brackets and cannot refer to a field column. Field column name will be displayed as a text in the report column title The bracket prevent your TABLE FILE to end with error, but only the first text is kept See sample
TABLE FILE CAR
BY COUNTRY AS ('TXT1',CAR,'TXT2')
END
WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF In Focus since 2007
November 07, 2019, 11:06 AM
Tony A
Martin,
The syntax is perfectly acceptable and can be used to control the hold file itself.
Try the following code and look at the difference between the two output columns for RETAIL_COST.
TABLE FILE CAR
SUM RETAIL_COST AS ('R_COST', RETAIL_COST, 'Retail Cost')
RETAIL_COST
BY COUNTRY
ON TABLE SET ASNAMES SUBST
ON TABLE SET HOLDATTR ON
EN
-RUN
CMD TYPE HOLD.MAS
T
In FOCUS since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2
WebFOCUS App Studio 8.2.06 standalone on Windows 10
November 07, 2019, 02:12 PM
MartinY
@Tony,
Have learned something. I never had to create a master file with TITLE element for the fields. I understand that the first part in the brackets gives the FIELDNAME, the second refer to the source field and the third become the TITLE element in the hold file.
WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF In Focus since 2007
November 10, 2019, 09:20 PM
nox
Hi,
Thank you all for all reply and discussion, I have solved this issue by separating report into different .fex file(to Avoid confusion) and then create a new .fe via coding to use INCLUDE to add all those .fex to do my UNION.