[I _extended="true">SFLNXTCHG sets all records in the subfile to be marked as changed…
SFLNXTCHG only sets the tag for the subfile records that are written when SFLNXTCHG is on. It only affects “all” subfile records if you have it on for every subfile record you write.
READC will read any subfile record that was updated by the user (regardless of whether or not READC read the same subfile record in a previous I/O cycle through the subfile.) READC will also read any subfile record that wasn’t changed by the user if that record was written while SFLNXTCHG was enabled.
The difference between the two is that READC is a RPG program I/O instruction and SFLNXTCHG is an attribute of a row written to a subfile regardless of whether it was written by RPG or a different language. READC is a RPG instruction; SFLNXTCHG is a DDS keyword. They’re not words from the same language.
Does this hold true if you seton the SFLNXTCHG indicator and UPDATE the subfile record?
My subfile allows prompting on a field to pull up another subfile in a window. A record is selected, control passes back to the program, I update the subfile with the selected data and I want to process changed records in the subfile to update the db file. READC indicator comes on stating there are no changed records to process.
* Prompt carrier field C EXSR SRCarrier
* Update selection to subfile C rrn chain sflrcd C Movel Wcarc @carc
* zero the cursor information for dspatr(pc) *in50 C z-add 0 ccol C z-add 0 clin C eval *in50 = *on C eval *in35 = *on C update sflrcd C ExSr SrReadC
35 is the sflnxtchg indicator
Is it because no typing occured in the subfile record? Ideas?