From: David E. <de...@us...> - 2006-12-31 02:31:38
|
Pam & Harold Norris wrote: > I have been a firm believer in tc for years and it > hasn't failed me yet. > I am, however, having a time with changes which went > into effect between versions .58 and .62/.63 > > I am accepting data on the screen using ACCEPT ON EXCEPTION. > According to what I saw in screenio.c, this means that the > data is being accepted using the SCREEN mode. > What the problem is, is: if data is displayed on > the screen at line 1 position 5 and I accept a 14 character > variable at line 1 position 1, the data located at position > is instantly erased. > Using the same accept commands with tc version .58, the existing > data stays put until you input NEWdata at its location. > > Is there any way to fix this, either by modifying tc or my program?? If I understand your query correctly, the problem is that the 14 variable at line 1 position 1 gets initialized with blanks, assuming it is an alphanumeric identifier. First of all are you using 'ACCEPT screen-n ...' or 'ACCEPT identifier-n AT LINE/POS ...' ? Second is this expected behavior as found with other compilers, or defined on some COBOL standard ? And finally, I don't think the behavior you are suggesting would work for numeric variables, as these should display from RIGHT to LEFT. It is not what TC currently does, but it is the behavior on I*M mainframes. In any case using group variables will not work, as the variable gets initialized with blanks. And I don't see an option that disables the initialization. Maybe the variable should not get initialized with blanks (zeros), but let the user do so, or not (risky). |