Kbase P13302: 4GL/ABL: Errors 5908 and 5909 defining internal procedures.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  9/18/2009 |
|
Status: Verified
SYMPTOM(s):
4GL/ABL: Errors 5908 and 5909 defining internal procedures.
You cannot define internal procedures or user defined functions inside a session trigger block. (5909)
<program> Could not understand line <number>. (193)
Already defining <procedure-or-function>. You cannot nest procedure or function definitions. (5908)
Could not understand line <n>. (196)
FACT(s) (Environment):
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems
CAUSE:
Error 5909, usually followed by error 193, is generated when an internal procedure is defined within a session trigger. Like when an END statement of a session trigger is missing and a PROCEDURE statement immediately follows as per the following example:
ON "F1" ANYWHERE DO:
/*** some processing here ***/
PROCEDURE Alpha.
/*** some processing here ***/
END.
Error 5908, usually followed by error 196, is generated when an internal procedure is defined within an internal procedure. Like when an END statement of a an internal procedure is missing and a PROCEDURE statement immediately follows as per the following example:
PROCEDURE Beta:
/*** some processing here ***/
PROCEDURE Theta.
/*** some processing here ***/
END.
FIX:
1. Do not nest internal procedures or user defined functions inside
other internal procedures, user defined functions, or session trigger
blocks.
2. Verify that all internal procedures, user defined functions and session trigger blocks are properly terminated with END statements:
/***********Fix Error 5909 Code***********/
ON "F1" ANYWHERE DO:
/*** some processing here ***/
END.
PROCEDURE Alpha.
/*** some processing here ***/
END.
/***********Fix Error 5908 Code***********/
PROCEDURE Beta:
/*** some processing here ***/
PROCEDURE Theta.
/*** some processing here ***/
END.