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.
(FOC422) THE FOCUS FILE IS NOT ON A WRITABLE DISK. CANNOT MODIFY:
(FOC36398) CANT MODIFY SEGMENT SEG01 IN READ-ONLY FILE INV_BAL (INCLUDE)
This is happening EVERY time I attempt to use MODIFY to fill a very large FOCUS / XFOCUS table, which resides in the same directory as many other focus tables.
A CHECK FILE of the table I am trying to fill results in:
0 NUMBER OF ERRORS= 0
NUMBER OF SEGMENTS= 1 ( REAL= 1 VIRTUAL= 0 )
NUMBER OF FIELDS= 65 INDEXES= 5 FILES= 1
TOTAL LENGTH OF ALL FIELDS= 986
5 of those fields are alpha index fields, the largest of which is 12 characters. The other 60 fields are P16.2 format.
The CODE that prepares the ALPHA file produces 400,000 rows that need to be loaded into the table. However, the following error is generated by MODIFY statements every time.
(FOC422) THE FOCUS FILE IS NOT ON A WRITABLE DISK. CANNOT MODIFY:
(FOC36398) CANT MODIFY SEGMENT SEG01 IN READ-ONLY FILE INV_BAL (INCLUDE)
0 TRANSACTIONS: TOTAL = 1 ACCEPTED= 1 REJECTED= 0
SEGMENTS: INPUT = 0 UPDATED = 0 DELETED = 0
BYPASSING TO END OF COMMAND
This table is being saved on an AIX box, permissions have been verified, and there is more than enough space in the hard drive.
The final element, this table can be saved if a ON TABLE HOLD FORMAT FOCUS is used, So I doubt that it is actually a space issue. However the end client wants MODIFY used.
This is a WebFOCUS 7.6.8 installation on AIX.
Since I am not that experienced with MODIFY, I would greatly appreciate any assistance that can be provided.This message has been edited. Last edited by: Kerry,
Robert F. Bowley Jr. Owner TaRa Solutions, LLC
In WebFOCUS since 2001
Posts: 132 | Location: Gadsden, Al | Registered: July 22, 2005
Hi, You wrote that you can create your FOCUS file with the command:
quote:
CREATE FILE INV_BAL DROP
I don't recall a DROP option. Are you sure about this? I would suggest you use the USE command to specify where this file shoud be created. For example:
USE
pathname/INV_BAL.FOC NEW
END
CREATE FILE INV_BAL
Then test where the file has been created:
? FILE INV_BAL
Then run your MODIFY procedure.
Another thing. Is your MODIFY long and complicated? If not, could you post it?
Daniel In Focus since 1982 wf 8.202M/Win10/IIS/SSA - WrapApp Front End for WF
Posts: 1980 | Location: Tel Aviv, Israel | Registered: March 23, 2006
The DROP option on the CREATE FILE command prevents the display of the messages and creates the data source, dropping the existing table first if necessary and re-parsing the Master File if it changed.
And you should use the USE command to point to the correct location. That way you're sure it will go to the desired location in stead of the default.
GamP
- Using AS 8.2.01 on Windows 10 - IE11.
in Focus since 1988
Posts: 1961 | Location: Netherlands | Registered: September 25, 2007
First, I don't see anything wrong with the code. With that said, I have a few suggestions. While I know these suggestions should not matter, they really seem to help when I have problems with MODIFY.
1. Change the MODIFY so that each line is less than 80 characters. I know that should not be the case but I have had issues that go away as soon as I do that. 2. Put the LOG statements just before the DATA statement. 3. Create a master for the input data, i.e. DM0008.MAS and use a FIXFORM FROM DM0008. If the file is being created with a ON TABLE SAVE AS command, use ON TABLE HOLD AS with a ON TABLE SET HOLDFORMAT ALPHA. The ON TABLE HOLD AS will create the master for DM0008. 4. You are sure that the input file is alpha and not binary? 5. What version of WebFOCUS are you using. MODIFY in early verisions of 7.1 (we found it in 7.1.3) would not load properly with if there was missing data and the input file format was alpha. I think this was fixed in 7.1.7.
Your MODIFY would look something like this:
MODIFY FILE INV_BAL
FIXFORM FROM DM0008
MATCH ERP ITEM_NUM FISCAL_YEAR WAREHOUSE UOM_CODE
ON NOMATCH INCLUDE
ON MATCH UPDATE *
LOG NOMATCH MSG OFF
LOG DUPL MSG OFF
DATA ON DM0008
END
This message has been edited. Last edited by: jgelona,
In FOCUS since 1985. Prod WF 8.0.08 (z90/Suse Linux) DB (Oracle 11g), Self Serv, Report Caster, WebServer Intel/Linux.
Posts: 975 | Location: Oklahoma City | Registered: October 27, 2006
It sounds like a file-permissions issue. CREATE only needs to Write, whereas Modify needs to Update.
Or: Perhaps "NEW" is tripping up the Modify.
Check that the CREATE worked (as Daniel suggested); and reissue the USE, without "NEW", before the MODIFY.
USE CLEAR *
USE
/cisfocrpt/data/invbal.foc NEW AS INV_BAL
END
CREATE FILE INV_BAL
-RUN
? FILE INV_BAL
-RUN
USE CLEAR *
USE
/cisfocrpt/data/invbal.foc AS INV_BAL
END
MODIFY FILE INV_BAL
. . .
This message has been edited. Last edited by: j.gross,
- Jack Gross WF through 8.1.05
Posts: 1925 | Location: NYC | In FOCUS since 1983 | Registered: January 11, 2005
You folks are gonna LOVE this one. We finally got the program working. There were two issues, that when we finally fixed both of them, all was well.
1) There was an error in one of the fields of the master file. A P9 number does not fit in a D5 field and a lot of asterisks were appearing in the table created by the ON TABLE HOLD version.
2) Total field length of almost 1K and 450,000 records appears to be more that FOCUS could handle in this instance. We changed the INV_BAL table to XFOCUS, as well as the intermediate hold files used to create the final ALPHA table used by the modify.
My client had opened a case on this, and no one can explain why these two conditions were causing a FOC422 error.
This issues is SOLVED! :-)
Robert F. Bowley Jr. Owner TaRa Solutions, LLC
In WebFOCUS since 2001
Posts: 132 | Location: Gadsden, Al | Registered: July 22, 2005
1) There was an error in one of the fields of the master file. A P9 number does not fit in a D5 field and a lot of asterisks were appearing in the table created by the ON TABLE HOLD version.
2) Total field length of almost 1K and 450,000 records appears to be more that FOCUS could handle in this instance. We changed the INV_BAL table to XFOCUS, as well as the intermediate hold files used to create the final ALPHA table used by the modify.
Both issues (overflow and record length) could be alleviated by Holding the data in Binary (rather than Alpha) format, and using FIXFORM FROM in the MODIFY.
"Rolling your own" FIXFORM is something I avoid.
And I agree with David -- segment the database (whether or not you normalize with respect to months).
Posts: 1925 | Location: NYC | In FOCUS since 1983 | Registered: January 11, 2005