Consultor Eletrônico



Kbase P18019: Error 1429, a SHARED temp-table has to be defined as NEW at least once
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   03/02/2005
Status: Unverified

SYMPTOM(s):

Unable to locate shared temp-table or work-table definition for table <table-name> in procedure <procedure-name>. (1429)

CAUSE:

The menu AppBuilder/Help/Message or Recent Message can provide some additional informations about any error message number. For error 1429, it says:

You have a reference to a SHARED TEMP-TABLE or WORK-TABLE, <table-name>, in procedure <procedure-name>, and there is no corresponding NEW SHARED TEMP-TABLE or WORK-TABLE definition in the current procedure call stack. You must define a shared TEMP-TABLE or WORK-TABLE as NEW before you may reference it elsewhere.

In other words, a Program (also called external procedure) that uses a SHARED temp-table or Workfile can be running only if another program has previously defined this shared temp-table or Workfile with the NEW SHARED option.

FIX:

Manage to run the procedure that defines the shared variable with the NEW option before the offending procedure.

If you do not know which program might be run at first (with the NEW option) then you should define the temp-table/workfile with the NEW GLOBAL SHARED option in each procedure. Thus, the first procedure that is run will create the temp-table, and any next procedure will just connect to this existing temp-table. Side effect is that only one global shared temp-table/workfile with a given name can be defined for the all Progress session and that it cannot be deleted (wanted behavior most of the times). It is then recommended to refrain from using too many NEW GLOBAL SHARED temp-tables.