Kbase P92773: Cancel close window in Dynamics leaves window in bad state error 565 and 91
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  12/01/2005 |
|
Status: Unverified
FACT(s) (Environment):
Dynamics 2.1
SYMPTOM(s):
Dynamics 2.1A02
Modified records have not been committed
Attempt to close container/window then choose cancel in confirm close window dialog
Try to close again the window leads to the following errors
** FIND FIRST/LAST failed for table . (565)
** No <file-name> record is available. (91)
Stack trace reads:
destroyObject ry/uib/rydyncontw.w (gui\icf\ry\uib\rydyncontw.r) at line 3984
destroyObject ry/app/rydynwindp.p (gui\icf\ry\app\rydynwindp.r) at line 1986
childWindowsOpen ry/app/rydynwindp.p (gui\icf\ry\app\rydynwindp.r) at line 65535
CAUSE:
ry/app/dynframp.p/destroyObject does not return "ADM-ERROR" in the super procedure stack.
FIX:
At the time of writing (2.1A02), ry/app/dynframp.p/destroyObject does the following:
[...]
/* now run the super */
RUN SUPER.
/* confirmExit could have cancelled the exit process */
IF NOT (ERROR-STATUS:ERROR OR RETURN-VALUE = "ADM-ERROR":U) THEN
DO:
[...]
Doing the following solves the problem:
[...]
/* now run the super */
/* slacroix 24-aug-2004 begin */
RUN SUPER NO-ERROR.
/* confirmExit could have cancelled the exit process */
IF ERROR-STATUS:ERROR OR RETURN-VALUE = "ADM-ERROR":U THEN
RETURN ERROR "ADM-ERROR":U.
/* Use the API to kill the PLIP, since it was started by launch.i */
RUN killPlips IN gshSessionManager ( INPUT "":U, INPUT cChildrenSuperProcedures ) NO-ERROR.
/* Use the API to kill the PLIP, since it was started by launch.i */
RUN killPlips IN gshSessionManager ( INPUT "":U, INPUT cContainerSuperProcedures ) NO-ERROR.
/* Reset error - as the super had no errors that we care about and we invoked the killPlips with no-error */
ASSIGN ERROR-STATUS:ERROR = NO.
/* slacroix 24-aug-2004 end */
END PROCEDURE. /* destroyObject */
[...]