Back Issues

HOLD and SAVE File Changes

In this edition of TABLE FILE CAR, we will examine several issues arising as a result of changes made to HOLD and SAVE files. Specifically, they involve record formats (RECFM), logical record lengths (LRECL), and the day-of-the-week (W) field length.

RECFM and LRECL and Spreadsheets

Information Builders added a number of features in the 7.n series of releases to simplify the efforts of Excel users who create spreadsheet input with FOCUS on VM and MVS. As those who run (or ran) releases prior to 7.0.9 are aware, your only original options were HOLD FORMAT LOTUS and HOLD FORMAT DIF. While helpful, these both suppressed all column headings, as well as SUBTOTALS, etc., thus requiring additional steps to pass along the column headings to Lotus or Excel.

  TABLE FILE CAR
  SUM RCOST DCOST SALES BY COUNTRY
  ON TABLE HOLD AS OUT1 FORMAT Lotus 
  END
 OUT1.PRN:
"ENGLAND   ",  45319,  37853, 12000  
"FRANCE    ",   5610,   4631,     0  
"ITALY     ",  51065,  41235, 30200  
"JAPAN     ",   6478,   5512, 78030  
"W GERMANY ",  64732,  54563, 88190

Release 7.0.9 introduced HOLD FORMAT EXCEL, which creates RECFM=U files that you can download quickly in binary format to a PC. You may then open the files with Excel.

With Release 7.2, there was new syntax for generating comma-delimited hold files (HOLD FORMAT COMT), which creates more Lotus-like files, but still passes along column-headings in the first row:

  TABLE FILE CAR
  SUM RCOST DCOST SALES BY COUNTRY
  ON TABLE HOLD AS OUT2 FORMAT COMT
  END

"COUNTRY","RETAIL_COST","DEALER_COST","SALES"  
"ENGLAND",45319,37853,12000                    
"FRANCE",5610,4631,0                           
"ITALY",51065,41235,30200                      
"JAPAN",6478,5512,78030                        
"W GERMANY",64732,54563,88190

Release 7.3 delivers a major upgrade in HOLD FORMAT EXL2K for creating Excel 2000 formatted files that you can download in ASCII format. In addition to the spreadsheets, other EXL2K feature options permit downloading of accompanying interactive Excel formulas for performing calculations on the spreadsheet cells, as well as accompanying PivotTables, which contain all fields mentioned in the request that do not appear in the spreadsheet (NF888). PivotTables permit dynamic substitution of new fields and rerunning of altered spreadsheets, without returning to the original data source.

"Well, great," you’re probably thinking, "I’d certainly use those for new development, but what about upgrading existing applications? Who has time or money to 'repair' old code that works?" You probably just use workarounds with HOLD FORMAT LOTUS. Things like:

DYNAM ALLOC F OUTPT DA prefix.Lotus.DATA NEW SP 1,1 TRACK ­
      RECFM VB LRECL 512 BLKSIZE 516
-WRITE OUTPT heading1, heading2, heading3, …
-RUN
DYNAM ALLOC F OUTPT DA prefix.Lotus.DATA  MOD
TABLE FILE CAR
SUM RCOST DCOST SALES BY COUNTRY
ON TABLE HOLD AS OUTPT FORMAT Lotus  
END

Or, perhaps you’ve always fed your Lotus HOLD files into other programs or JCL that expects an LRECL of 512.

Over the years, in the interest of saving space, a number of Lotus file users asked us for variable LRECLs for their Lotus output files. When we made that change to accommodate them, however, it wrought havoc, particularly amongst the more creative Lotus users among you. So, for those wishing to restore the original HOLD FORMAT Lotus defaults: static LRECL of 512, RECFM of VB and BLKSIZE of 516, Customer Support offers PTF 251014, which is built on top of Service Pack 4. To request the PTF, just open a case with Customer Support via the Web site at techsupport.ibi.com or call us at (800) 736-6130 (option 3), and we will ship it to you.

Incidentally, in the interest of conserving space, we also changed the LRECL of other output files including regular HOLD and HOLD FORMAT ALPHA files. However, since those files always had variable lengths based on the data, and since fewer customers were affected, they are not affected by this PTF.

Note: Check day-of-the-week field lengths when upgrading to Release 7.2.

Before Release 7.2, day-of-the-week field lengths (format =W) were two bytes in FOCUS SAVE files. However, since the day-of-the-week can never exceed one byte (one through seven), we changed its output length to one byte in Release 7.2, unfortunately affecting clients who did ­READ operations on those SAVE files. There was little we could do to remedy that, as most of those who had the problem solved it by changing their ­READ statements. Thus, going back to the two-character representation now would cause a new problem.

So, when upgrading to 7.2 or a subsequent release (and I do recommend that), please scan for -READ operations that pick up only a DAY and ­WRITEs to HOLD FORMAT LOTUS files.

We thank you for your continued use of FOCUS and for allowing us to support you.

Back Next