Consultor Eletrônico



Kbase P139309: 4GL/ABL: Why is the name of the called routine's TEMP-TABLE returned by QUERY qCallingTT:GET-BUFFER-
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   02/01/2009
Status: Unverified

GOAL:

4GL/ABL: Why is the name of the called routine's TEMP-TABLE returned by QUERY qCallingTT:GET-BUFFER-HANDLE(1):NAME?

GOAL:

Why is the name of the called routine's TEMP-TABLE NOT returned by QUERY qbCallingTT:GET-BUFFER-HANDLE(1):NAME?

FACT(s) (Environment):

All Supported Operating Systems
OpenEdge 10.1x

FIX:

1. When executing procedure calling.p in the note below, the expression: QUERY qCallingTT:GET-BUFFER-HANDLE(1):NAME returns the name of the called routine's TEMP-TABLE CalledTT because passing the TEMP-TABLE by binding from the called routine to the calling routine causes all references within the calling routine to its TEMP-TABLE to point to the called routine's TEMP-TABLE. In other words,After the binding the calling and the called TEMP-TABLE will have the some TEMP-TABLE handle therefore the same default TEMP-TABLE buffer handle and the same name.
2. When executing procedure calling.p in the note below, the expression: QUERY qbCallingTT:GET-BUFFER-HANDLE(1):NAME returns the name of the buffer of the calling routine TEMP-TABLE because the buffer which had been defined for the calling table, has now been been switched to be for the called table, but it cannot be changed to have a different name from the one it started with because we would not want to call it CalledTT since then there would be two buffers with the same name.