Consultor Eletrônico



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