Kbase 18299: GO-PENDING differences when Migrating from V6
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  06/10/1998 |
|
GO-PENDING differences when Migrating from V6
DRAFT COPY - Currently under review and edit.
INTRODUCTION:
=============
This Technical Support Knowledgebase entry describes one of the
implications of migrating a V6 application to V8 character in respect
of the function GO-PENDING.
WHY YOU NEED TO KNOW THIS:
=========================
This is one of the issues that might arise when you use the GO-PENDING
function. The underlying architecture has been changed dramatically
for V7/8 and therefore it is better to replace the GO-PENDING function
with true V7/8 User Interface Triggers.
Under V6, the following example will skip the VALIDATE statement and
perform the GO-PENDING when 'B' is left blank. Whereas, V7/8 will
insist the validation is enforced before the GO-PENDING.
DEF VAR a AS DATE.
DEF VAR b AS CHAR.
FORM a SKIP b WITH FRAME input-frame.
UPDATE a VALIDATE(INPUT a <> ?, "Must be entered") b
WITH FRAME input-frame EDITING:
READKEY.
APPLY LASTKEY.
IF GO-PENDING THEN DO:
MESSAGE "GO-PENDING". PAUSE.
IF INPUT a = ? THEN DISP TODAY @ a WITH FRAME input-frame.
END.
END.
PROCEDURAL APPROACH:
===================
Therefore, to ensure your procedure performs as it did with Version 6,
make the following amendment:
DEF VAR a AS DATE.
DEF VAR b AS CHAR.
FORM a SKIP b WITH FRAME input-frame.
UPDATE a VALIDATE(INPUT a <> ?, "Must be entered") b
WITH FRAME input-frame EDITING:
READKEY
APPLY LASTKEY.
ON "GO" OF a,b DO:
IF INPUT a = ? THEN DISP TODAY @ a WITH FRAME input-frame.
END.
END.
Elizabeth Bellingham
6 October 1998