× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Yes, there is a way.  Unfortunately, I burned so much time dealing with a
Midrange-L thread on CPYF this morning that I can't spend time looking up
the specifics.

Did you try searching the RPG400-L archives for "display time out".  Since
the search in the archives is fairly weak on search terms, you may have
better luck using Google and site:midrange.com.

You're in luck.  I just remembered I had an example app provided by none
other than Scott Klement a few years back.  You may be able to glean what
you need from this:

DSPF TIMEOUTD:
     A                                      DSPSIZ(24 80 *DS3)
     A          R SCREEN1
     A                                      INVITE
     A                                      FRCDTA
     A                                  9 17'There is a timeout on this-
     A                                        screen.  Press ENTER'
     A                                 10 27'or wait for it to time out.'
     A            MSG           50   O 14 16

RPGLE TIMEOUTR:
fTimeOutD  cf   e             Workstn UsrOpn

d RunCmd          pr                  ExtPgm('QCMDEXC')
d  Cmd                         200a   Const
d  Len                          15p 5 Const

d RcvDtaQ         pr                  ExtPgm('QRCVDTAQ')
d  dqname                       10a   Const
d  dqLib                        10a   Const
d  dqLen                         5p 0
d  dqData                       80a
d  dqWait                        5p 0 Const

d DQLen           s              5p 0
d TimeOut         s              5p 0
d DQData          s             80a

c* create a data queue in QTEMP.
c                   Callp     RunCmd('CRTDTAQ DTAQ(QTEMP/TESTDQ) -
c                             MAXLEN(80) SEQ(*FIFO)': 200)

c* Make the display file use the new data queue
c                   Callp     RunCmd('OVRDSPF FILE(TIMEOUTD) DTAQ(' +
c                              'QTEMP/TESTDQ)': 200)

c* open the display file.
c                   Open      TimeOutD

c* Show the screen the user.  This format has the
c* "FRCDTA" keyword so the screen will show up immediately, and the
c* "INVITE" keyword so the keyboard isn't locked.
c                   Write     Screen1

c* Wait for one of two conditions...
c*    1) an entry to appear on the data queue or
c*    2) A timeout while waiting for the data queue.
c                   Eval      DQLen = 80
c                   Eval      Timeout = 10
c                   Callp     RcvDtaQ('TESTDQ':'QTEMP': DQLen: DQData:
c                                 Timeout)

c* Show the results...  (if Len=0, no data was received...)
c                   If        dqLen = 0
c                   Eval      Msg = 'TIMEOUT!  Press ENTER to quit.'
c                   Else
c                   Read      SCREEN1                              99
c                   Eval      Msg = 'ENTER!  Press ENTER again to quit'
c                   Endif
c                   Write     SCREEN1

c* Wait "forever" for enter to be pressed, this time.
c*    (Timeout=-1 means that it'll never timeout)
c                   Eval      Timeout = -1
c                   Callp     RcvDtaQ('TESTDQ':'QTEMP': DQLen: DQData:
c                                 Timeout)
c                   Read      SCREEN1                              99

c* Do some cleanup and end...
c                   Close     TimeOutD
c                   Callp     RunCmd('DLTOVR FILE(TIMEOUTD)':200)
c                   Callp     RunCmd('DLTDTAQ DTAQ(QTEMP/TESTDQ)':200)
c                   Eval      *inLR = *On

hth,
db

> -----Original Message-----
> From: rpg400-l-bounces.com@xxxxxxxxxxxx / Andy Hautamaki
> Sent: Thursday, October 07, 2004 9:45 AM
>
> Is there a way from a RPGLE interactive program to track how long it has a
> record locked in update and after a certain amount of time has elapsed,
> gracefully unlock the record. Then the interactive program would show some
> info message to inform the User that they will need to retrieve the
> transaction again.
>
> Thanks
> Andy


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.