project BLF > class Persistence (Progress) > method ExternalControlId

function returns character

Description

Check if a database object is in external control, and return the ID.


Parameters


iiObjectIdinputintegerinternal ID


Internal usage


unused


program code (program1/progress.p)

if not (valid-handle(vhExternalQuery) and
        viExternalUID = vhExternalQuery:unique-id)
then do:
    create buffer vhExternalBuffer for table "fcExternalControl":U in widget-pool "persistent".
    create query vhExternalQuery in widget-pool "persistent".
    vhExternalQuery:forward-only = yes.
    vhExternalQuery:set-buffers(vhExternalBuffer).
    vhExternalQuery:private-data = "Persistent".    /* do not ever delete this query */
    viExternalUID = vhExternalQuery:unique-id.
end.
assign vlFcOk = vhExternalQuery:query-prepare
 ("for each fcExternalControl where fcExternalControl.DbObjectId = ":U + string(iiObjectId)).
if vlFcOk
then assign vlFcOk = vhExternalQuery:query-open().
if vlFcOk
then do:
    vhExternalQuery:get-first(no-lock).
    if not vhExternalQuery:query-off-end
    then vcExternalId = vhExternalBuffer::ExternalId.
end.
vhExternalQuery:query-close().

return vcExternalId.