Focal Point
WebFOCUS Alpha Variable size limits

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/8241014392

July 29, 2008, 07:49 AM
hammo1j
WebFOCUS Alpha Variable size limits
It seems that an individual field limit for defines and computes is around 32k (32768).

DEFINE FILE CAR
NEW_FIELD/A32000 WITH COUNTRY = ' ' ;
END
TABLE FILE CAR
PRINT NEW_FIELD
END
-EXIT

Works.

However there seems to be a total field in report output limit of around 32k also.

I would assume these are maximums for relational formats in the master but that wf fields would be 4k for FOCUS and circa 32k for XFOCUS but I have not tested.

Does anyone know what the true limits are?

This message has been edited. Last edited by: hammo1j,



Server: WF 7.6.2 ( BID/Rcaster) Platform: W2003Server/IIS6/Tomcat/SQL Server repository Adapters: SQL Server 2000/Oracle 9.2
Desktop: Dev Studio 765/XP/Office 2003 Applications: IFS/Jobscope/Maximo
July 29, 2008, 08:26 AM
hammo1j
These are the best I can find

http://www.informationbuilders.com/new/tfc/spring2006/04_preview.html

http://techsupport.informationbuilders.com/tech/ibm/ibm_nf_limits.html



Server: WF 7.6.2 ( BID/Rcaster) Platform: W2003Server/IIS6/Tomcat/SQL Server repository Adapters: SQL Server 2000/Oracle 9.2
Desktop: Dev Studio 765/XP/Office 2003 Applications: IFS/Jobscope/Maximo
July 29, 2008, 09:37 AM
hammo1j
Interestingly subroutines work up to either 32k or 4k limit.

SUBSTR has 32k input limit but UPCASE has a max of 4k as this example shows

works
DEFINE FILE CAR
FCHAR/A4094  WITH COUNTRY = ' ' ;
VCHAR/A4095V = FCHAR | 'x' ;
VCHARX/A4095V = UPCASE(4095,VCHAR,'A4095') ;
VCHARLEN/I9   = LENV(VCHARX,'I9');
SS/A10      = SUBSTR(4095,VCHARX,4095,4095,1,'A1V') ;
SSORIG/A10      = SUBSTR(4095,VCHAR,4095,4095,1,'A1V') ;
END
TABLE FILE CAR
PRINT COUNTRY FCHAR VCHAR VCHARLEN SS SSORIG
END


does not work in that SS is blank instead of X
DEFINE FILE CAR
FCHAR/A4095  WITH COUNTRY = ' ' ;
VCHAR/A4096V = FCHAR | 'x' ;
VCHARX/A4096V = UPCASE(4096,VCHAR,'A4096') ;
VCHARLEN/I9   = LENV(VCHARX,'I9');
SS/A10      = SUBSTR(4096,VCHARX,4096,4096,1,'A1V') ;
SSORIG/A10      = SUBSTR(4096,VCHAR,4096,4096,1,'A1V') ;
END
TABLE FILE CAR
PRINT COUNTRY FCHAR VCHAR VCHARLEN SS SSORIG
END




Server: WF 7.6.2 ( BID/Rcaster) Platform: W2003Server/IIS6/Tomcat/SQL Server repository Adapters: SQL Server 2000/Oracle 9.2
Desktop: Dev Studio 765/XP/Office 2003 Applications: IFS/Jobscope/Maximo
July 29, 2008, 11:19 AM
hammo1j
It appears that assignment of intermediate result with length > 4096 results in an error.

So the conclusion would be up to length 4096 wf will always work. From 4k Up to 32k it has been tweaked in various places probably for iway so you might get lucky!

This does not work

DEFINE FILE CAR
NEW_FIELD1/A2049 WITH COUNTRY = ' ' ;
NEW_FIELD2/A2048 WITH COUNTRY = ' ' ;
NEW_FIELD3/A4097 = NEW_FIELD1 | NEW_FIELD2 ;
END
TABLE FILE CAR
PRINT NEW_FIELD3
END
-EXIT

This does

DEFINE FILE CAR
NEW_FIELD1/A2048 WITH COUNTRY = ' ' ;
NEW_FIELD2/A2048 WITH COUNTRY = ' ' ;
NEW_FIELD3/A4096 = NEW_FIELD1 | NEW_FIELD2 ;
END
TABLE FILE CAR
PRINT NEW_FIELD3
END
-EXIT



Server: WF 7.6.2 ( BID/Rcaster) Platform: W2003Server/IIS6/Tomcat/SQL Server repository Adapters: SQL Server 2000/Oracle 9.2
Desktop: Dev Studio 765/XP/Office 2003 Applications: IFS/Jobscope/Maximo