Description
Add the reference to a reserved number into the instance data. This information will be used by housekeeping to release this number when necessary.
PreCondition
This method is to be used by the BNumber class only.
Parameters
iiInstanceId | input | integer | |
icClassName | input | character | |
icNumberData | input | character | |
Internal usage
unused
program code (program1/progress.p)
put-string(vat,1) = icNumberData.
if not (valid-handle(vhInstanceQuery) and
viInstanceUID = vhInstanceQuery:unique-id)
then do:
create buffer vhInstanceBuffer for table "fcInstance":U in widget-pool "persistent".
create query vhInstanceQuery in widget-pool "persistent".
vhInstanceQuery:forward-only = yes.
vhInstanceQuery:set-buffers(vhInstanceBuffer).
vhInstanceQuery:private-data = "Persistent". /* do not ever delete this query */
viInstanceUID = vhInstanceQuery:unique-id.
end.
/*
For better performance, immediately create the record without checking for uniqueness.
*/
viiiseq = time + random (10000,99999).
repeat transaction on error undo, retry:
viiiseq = viiiseq + 1.
vhInstanceBuffer:buffer-create().
assign vhInstanceBuffer::Instance_ID = iiInstanceId
vhInstanceBuffer::InstanceSeq = - viiiseq
vhInstanceBuffer::InstanceData = vat
vhInstanceBuffer::InstanceIsInUse = no
vhInstanceBuffer::InstanceClassName = icClassName no-error.
if vhInstanceBuffer::InstanceSeq = 0
then vhInstanceBuffer:buffer-delete().
else leave.
end.
vhInstanceBuffer:buffer-release().