As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.
New TIBCO Community Coming Soon
In early summer, TIBCO plans to launch a new community—with a new user experience, enhanced search, and expanded capabilities for member engagement with answers and discussions! In advance of that, the current myibi community will be retired on April 30. We will continue to provide updates here on both the retirement of myibi and the new community launch.
What You Need to Know about Our New Community
We value the wealth of knowledge and engagement shared by community members and hope the new community will continue cultivating networking, knowledge sharing, and discussion.
During the transition period, from April 20th until the new community is launched this summer, myibi users should access the TIBCO WebFOCUS page to engage.
I attempted to create a hold file in one session and save it to a directory. Then have other focus programs read information from that held file. I seem to have run into a problem where web focus will only allow me to store and read files that are less than 32K. I can read the records in the hold file up to that max then the balance of the information is scrambled. If I read the hold file in the same session that I create the hold file focus reads the entire file and reports the information correctly. However, I really don't want to have to create this original hold file everytime I want to include its information in a subsequent report. Do I have to save the file in a different format so it can be read? Or is there a setting somewhere in web focus that needs to be changed?
Since I had several program written in "old focus" when we were on the Sis+ system, I am attempting to use the same logic to generate reports in "Web Focus" reading the SunGard Banner System. I didn't have any limit on the size of the file the user created under "old focus" so most of my programs were developed without any consideration of the size of the file being created. It would just save me a lot of time to use the same logic from the old programs until I get a better handle on Web Focus and the Banner System. Anybody know of a way to overcome this size limit on the hold file being crated by the user?
Posts: 3 | Location: Rowan University Glassboro NJ | Registered: October 24, 2006
John, there's no size limit. it sounds like a problem with the master. In your live session, CHECK FILE mastername Then a 2nd session, make your output files.. (how are you doing it? are you FILEDEFing that mastername file and copy out the .mas? ) Then a 3rd session where you start by CHECK FILE mastername Compare the results of the 2 CHECK FILE commands. If they are different, do it again with more detail. CHECK FILE mastername HOLD TABLE FILE HOLD PRINT * END will give you the field size and format for each field in the master. By comparing both masters (internal and external) in detail, you might find your problem. Also, there may already be a master of the same name somewhere on your path that is taking priority when you run your external reporting fex against that extract file. that's where i would start looking. Let us know how you get along... oh...and as Prarie says, please edit your profile signature block to tell us your configuration details.This message has been edited. Last edited by: susannah,
In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003
Happens to me all the time. I always seem to forget to keep this into account, so I have to do this twice every time. What's the problem here? 1. You do a plain normal hold, nothing fancy, and store it on a specified location (preferably with APP HOLD). 2. This creates a hold file with master. 3. When you want to read it again, you have to specify the location for the file. This is done with FILEDEF (or APP FI). 4. It now starts reading the data. But since the first HOLD is not really consistent with the new Filedef, this will result in so called streaming data, where CR/LF's are also read by webfocus but not acted upon. Cure: Do a check file on the master. Note the actual length of all fields. Code your filedef as: APP FI file DISK APP/file.FTM (LRECL length-just-noted RECFM V This will instruct WebFOCUS to act on the CR/LF characters and you will getr you correct records back to you. Please note that there is indeed a limit of 32 KB, but that's per record, not per file.
- Using AS 8.2.01 on Windows 10 - IE11.
in Focus since 1988
Posts: 1961 | Location: Netherlands | Registered: September 25, 2007
I have never encountered the problem you've described regarding "streaming data". I'm not sure what you mean by "the first HOLD is not really consistent with the new Filedef".
This has always worked for me:
-*-- Designate location for Master Files created with the HOLD command ---
APP HOLDMETA webfocus_data
-*-- Designate location for data files created with the HOLD command ---
APP HOLDDATA webfocus_data
-* Allocate the data file ---
FILEDEF R030H010 DISK webfocus_data/r030h010.ftm
Would the problem be resolved by issuing the FILEDEF for both sessions?
Also, perhaps the problem is resolved by using ON TABLE HOLD AS R030H010 FORMAT ALPHA instead of ON TABLE HOLD AS R030H010.
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
The APP HOLDMETA and APP HOLDDATA can be very useful (both can be replaced with APP HOLD), however I am not a big fan owing to the fact that you get the foctemp files left in your APP folder as well and in the wrong circumstances that can cause a few problems . I tend to use a file system copy of the files that I want (.ftm and .mas) at the end of processing so that I only have the files I need and not the extraneous WF internals.
Also, imho, FORMAT ALPHA on plain HOLD files is the better method, although if you are going to reuse the data many times I would recommend using FOCUS or XFOCUS so that you minimise the need to do FILEDEFs etc.
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
Posts: 5694 | Location: United Kingdom | Registered: April 08, 2004
Addition to GamP: use the code below (actually it is an -INCLUDE named IALFILEN) before the FILEDEF in the subsequent requests, where you want to read from your HOLD file.
CHECK FILE &HOLDNAME HOLD
TABLE FILE HOLD SUM XTLEN ON TABLE SAVE AS XTLEN
-READ XTLEN &LEN.I4
I created a HOLD file with the following code:
APP HOLD MYAPPFLD
TABLE FILE CAR
PRINT DCOST RCOST BY COUNTRY BY CAR BY MODEL
ON TABLE HOLD AS ROLI1
Then in the subsequent request populate &HOLDNAME with the mastername of the HOLD file. Afterwards use &LEN as LRECL value in the FILEDEF as GamP mentioned it in his post. Like this:
-SET &HOLDNAME = 'ROLI1';
APP FILEDEF ROLI1 DISK MYAPPFLD/ROLI1.FTM (LRECL &LEN RECFM F
TABLE FILE ROLI1
This is normally mandatory, if you are creating the file by ON TABLE HOLD. Focus/WebFocus needs a LRECL to read files of such type. If you are reusing it in the same session, the allocation from the creation is still active and having the LRECL. In a subsequent request you have to do it yourself. The alternative is using ON TABLE HOLD FORMAT ALPHA as Francis and Ginny have mentioned. For files of this type no LRECL is required to read.
Prod: WF 7.1.5 Test: WF 7.6.4 Unix Sun Solaris HTML, PDF, EXL2K
Posts: 54 | Location: Switzerland | Registered: May 13, 2003