Focal Point Banner


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.

Join the TIBCO Community
TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.

  • From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
  • Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
  • Request access to the private WebFOCUS User Group (login required) to network with fellow members.

Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.


Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     creating a hold file in one session and reading it in another session

Read-Only Read-Only Topic
Go
Search
Notify
Tools
creating a hold file in one session and reading it in another session
 Login/Join
 
Member
posted
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?

thanks,
jab
 
Posts: 3 | Location: Rowan University Glassboro NJ | Registered: October 24, 2006Report This Post
Virtuoso
posted Hide Post
John what version of WebFocus are you using..and are the Hold files Being saved as Focus Files? ON TABLE HOLD AS WHATEVER FORMAT FOCUS?


In Focus since 1993. WebFOCUS 7.7.03 Win 2003
 
Posts: 1903 | Location: San Antonio | Registered: February 28, 2005Report This Post
Expert
posted Hide Post
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, 2003Report This Post
Virtuoso
posted Hide Post
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.


GamP

- Using AS 8.2.01 on Windows 10 - IE11.
in Focus since 1988
 
Posts: 1961 | Location: Netherlands | Registered: September 25, 2007Report This Post
Expert
posted Hide Post
ah. nice clarif about the limit, GamP




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Expert
posted Hide Post
GamP,

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
-RUN
-* Allocate the data file ---
FILEDEF R030H010 DISK webfocus_data/r030h010.ftm
-RUN


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.

Cheers,


Francis


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
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Expert
posted Hide Post
I agree with Francis. I have found that FORMAT ALPHA is definitely the way to go in WebFOCUS.

To eliminate the FILEDEF or APP FI, you can create the master once, put a DATASET parameter in it, and remove the APP HOLD META command that Francis has in his post.

You will need an APP PREPENDPATH in your fex to find the master.


Ginny
---------------------------------
Prod: WF 7.7.01 Dev: WF 7.6.9-11
Admin, MRE,self-service; adapters: Teradata, DB2, Oracle, SQL Server, Essbase, ESRI, FlexEnable, Google
 
Posts: 2723 | Location: Ann Arbor, MI | Registered: April 05, 2006Report This Post
Expert
posted Hide Post
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 Frowner. 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.

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 
 
Posts: 5694 | Location: United Kingdom | Registered: April 08, 2004Report This Post
Gold member
posted Hide Post
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
END
-RUN
-SET &LEN=;
-READ XTLEN &LEN.I4
-RUN


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
END


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';
-INCLUDE IALFILEN
-RUN
APP FILEDEF ROLI1 DISK MYAPPFLD/ROLI1.FTM (LRECL &LEN RECFM F
-RUN
TABLE FILE ROLI1
 PRINT *
END


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.


Roland

Prod: WF 7.1.5
Test: WF 7.6.4
Unix Sun Solaris
HTML, PDF, EXL2K
 
Posts: 54 | Location: Switzerland | Registered: May 13, 2003Report This Post
  Powered by Social Strata  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     creating a hold file in one session and reading it in another session

Copyright © 1996-2020 Information Builders