I am experiencing a strange issue when populating a grid, it seems to be objecting to the size of SFLPAG. I've done a few other grids without any issue and have checked the properties of these with the new grid - there does not appear to be any differences.
To diagnose the problem I created a really simple, small program with a grid containing one field and the issue still persisted. With traditional DDS the SFLSIZ value would be at least 1 greater than SFLPAG, so I can 'fix' the problem by changing SFLSIZ to 2 in QSFLCTL001 in the DDS, which I know I'm not supposed to do.
Without the 'fix' the program will crash when it writes the second subfile record (observed when debugging the program).
Any thoughts on what's up with this?
Below is the code from my simple grid program and the full error message.
Code: Select all
H DatFmt(*iso) DftActGrp(*No) Option(*SrcStmt: *NoDebugIO)
H PgmInfo(*PCML:*MODULE) ActGrp(*Caller)
FSOP999SW CF E WORKSTN HANDLER('PROFOUNDUI(HANDLER)')
F SFILE(sfl1:sfl1rrn)
FSOPWODP IF E Disk
/free
Read SOPWODP;
DoW Not %EoF;
s1product = odproduct;
sfl1rrn += 1;
Write SFL1;
Read SOPWODP;
EndDo;
exfmt scrnmain;
return;
/end-free
and the DDS source:
Code: Select all
A R SFL1 SFL
A QPUI000001 1A O 2 2
A S1PRODUCT 8A H
A R QSFLCTL001 SFLCTL(SFL1)
A SFLSIZ(0001)
A SFLPAG(0001)
A SFLDSP
A 1 2HTML('QPUISFLSCRNMAIN')
A R SCRNMAIN
A 1 2HTML('QPUICTL1 SFL1 4 RS-
A FLDSP 0 RSFLDSPCTL 0 RSF-
A LPAG 1 C1 6 RSFLSIZ 1 -
A C2 99 0 0 ')
A 1 2HTML('{"screen":{"record format nam-
A e":"scrnMain"},"items":[{"id":"sfl1-
A ","field type":"grid","css class":"-
A crystal-grid","left":"40px","top":"-
A 45px","number of rows":"7","number -
A of columns":"1","column widths":"15-
A 0","column headings":"Heading 1,Hea-
A ding 2,Heading 3","header height":"-
A 26","row height":"26","height":"182-
A px","width":"151px","record format -
A name":"sfl1","subfile record number-
A ":{"fieldName":"sfl1rrn","dataLengt-
A h":"5","decPos":"0","numSep":"false-
A ","zeroBalance":"false","numBlankFi-
A ll":"false","zeroFill":"false","noE-
A xtraSpaces":"false","curSym":"","da-
A taType":"zoned","formatting":"Numbe-
A r","negNum":"-999.00","units":""},"-
A subfile size":"99"},{"id":"s1produc-
A t","field type":"output field","css-
A class":"outputField","value":{"fie-
A ldName":"s1product","dataLength":"8-
A ","trimLeading":"false","trimTraili-
A ng":"true","blankFill":"false","rjZ-
A eroFill":"false","dataType":"char",-
A eroFill":"false","dataType":"char",-
A "formatting":"Text","textTransform"-
A :"none","designValue":"[s1product]"-
A },"left":"55px","top":"5px","grid":-
A "sfl1","column":"0"}]}')
A SFL1RRN 5S 0H
Code: Select all
Message ID . . . . . . : CPF5043 Severity . . . . . . . : 30
Message type . . . . . : Sender copy
Date sent . . . . . . : 28/01/16 Time sent . . . . . . : 15:13:32
Message . . . . : Record does not fit in subfile for file SOP999SW in
library WEBLIB.
Cause . . . . . : If SFLSIZ equals SFLPAG, SFL cannot be extended. Subfile
page contains available screen lines, but not enough to contain specified
record. If SFLSIZ does not equal SFLPAG, SFL cannot be extended. The
internal space used for the subfile has reached the maximum space size.
Recovery . . . : Reply C causes the request to be canceled and CPF5104 to
be sent. Reply I causes the request to be ignored and processing to
continue. If the message was verified, the verifying program gained
control. If not, the system used the default reply.
Zoe