Jump to content


Photo
- - - - -

WRITE ISSUES FROM PAGING SCREEN WITH GLOBAL WINDOW


7 replies to this topic

#1 Brian Manners

Brian Manners

    Member

  • Members
  • PipPip
  • 46 posts
  • Gender:Male
  • Location:Melbourne

Posted 16 July 2003 - 06:17 AM

G'day,

Wondered whether anyone had come across the following scenario .........

Simple paging screen (Green screen app), global selection window on one of the columns - Select a value from the window, window closes, but without entering return, use the down arrow to go the next record within the paging screen. Seems that the write is not issued on the record. :eek:

Trying the same test and typing a value in (ie. not using the selection window), hitting the down arrow and all seems to be fine! :-"

Tried multiple global windows (ending with the same problem), multiple locations of the column within the paging screen (e.g. not the last input field etc).

Hmmm ......another undocumented feature to be aware of? ;-)

Cheers

Brian

Version details:

PRO-IV 5.0000 1.0.9
It's all good

#2 Wim Soutendijk

Wim Soutendijk

    ProIV Guru

  • Members
  • PipPipPipPipPip
  • 211 posts
  • Gender:Male
  • Location:Netherlands

Posted 16 July 2003 - 06:27 AM

It a known problem, which is fixed in version 5.5.
In this version if you set the ForceWrite() property on the paging screen (tagname.ForceWrite() in Enty logic of the paging screen) PRO-IV will always write the values back to the file

#3 Rob Donovan

Rob Donovan

    rob@proivrc.com

  • Admin
  • 1,640 posts
  • Gender:Male
  • Location:Spain

Posted 16 July 2003 - 06:31 AM

Hi,

Its probably a bug regarding how paging screens try to get better performance.

For performance reasons I think, the file will only be written if the user directly enters something into one of the vars on the screen.

If all the vars in the paging screen are scratches, and you change the values of the files fields in logic, no write will occur.

Rob D.

#4 Brian Manners

Brian Manners

    Member

  • Members
  • PipPip
  • 46 posts
  • Gender:Male
  • Location:Melbourne

Posted 16 July 2003 - 06:37 AM

Thanks Wim,

Tried your suggestion but still no luck. This is not a major problem for us, but something I thought I'd point out for the PRO-IV world

Maybe its time to push on to 5.5 - hmm and I wonder what new and exciting "features" we can find there :eek:

Cheers

Brian
It's all good

#5 Cleve Haynes

Cleve Haynes

    Expert

  • Members
  • PipPipPipPip
  • 172 posts
  • Gender:Male

Posted 16 July 2003 - 06:59 AM

Hi

I have had to work around this problem several times before.

The problem occurs in a couple of ways.

One is when you press EOD in the first enterable field in the paging screen when you have done no keyboard entry. In this case the BW pass is skipped.

The other is when you press up or down arrow in the first enterable field in the paging screen when you have done no keyboard entry. Again, the BW pass is skipped.

If you do either of these things in the second enterable field then the BW is processed. Don't get any ideas about using a field jump to work around this - ProIV is "clever" and can tell that you skipped what is normally the first enterable field, so the second enterable field is now your first enterable field and you still have the problem...

The easiest workaround for this problem is to do a local LSCALL to write the record after the GLOBAL_LSCALL.

As Wim said, ProIV have introduced the ForceWrite method in 5.5r300 (I think) to solve this.

Cleve.

#6 Brian Manners

Brian Manners

    Member

  • Members
  • PipPip
  • 46 posts
  • Gender:Male
  • Location:Melbourne

Posted 16 July 2003 - 07:14 AM

Thanks Cleve,

You had me enthralled with your workaround until you typed the words "PRO-IV" and "clever" far too close together :eek:

Your right - must be some kind of background "the users entered something" flag so PRO-IV knows it can commit the data etc.

Cheers

Brian
It's all good

#7 Andy Jones

Andy Jones

    Member

  • Members
  • PipPip
  • 41 posts
  • Gender:Male

Posted 16 July 2003 - 12:05 PM

Brian,

FYI - the behaviour of the Primary Input field and forcewrite were covered in detail in this thread:
http://www.proivrc.c...0&hl=forcewrite


Have you tried returning your data to $INPUT rather than the field's variable?
Doing this this will force the cursor to the next field on returning from the window, so the data should then be written away if the user arrows/F3's.

HTH

Andy
Nothing is foolproof to a sufficiently talented fool...

Don't learn from your own mistakes - it's safer and more entertaining to learn from the mistakes of others!

Just because you can, it doesn't mean you should!

#8 Brian Manners

Brian Manners

    Member

  • Members
  • PipPip
  • 46 posts
  • Gender:Male
  • Location:Melbourne

Posted 17 July 2003 - 12:42 AM

Thanks Andy,

I like your suggestion of returning to $INPUT - Seems to be the best solution :eek: for the version we're using.

Cheers

Brian
It's all good



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users