project BLF > class BSharedSet > method CalcAllSelectSharedSet

query calculated fields procedure

Description

Assign a value to query calculated fields


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
query SelectSharedSet


program code (program1/bsharedset.p)

<Q-61 run SharedSetForDomain (all) (Read) (NoCache)  (output dataset tqSharedSetForDomain) in BDomain>

<Q-52 run LookupSharedSetForCompany (all) (Read) (NoCache)
   (input ?, (CompanyId)
    input ?, (SharedSetType)
    output dataset tqSharedSetForCompany) in BCompany>
    
assign vcListSharedSetTypeCodes  = {&SHAREDSETTYPECODES}.

create query vhQuery in widget-pool "non-persistent".
vhQuery:forward-only = yes.
vhQuery:set-buffers(ih_Buffer).
vhQuery:query-prepare("for each ":U + ih_Buffer:table).
vhQuery:query-open().
vhQuery:get-first().
do while not vhQuery:query-off-end:
    assign {&tcSharedSetTypeCodeTr} = "?":U.
    
    do viCounter = num-entries(vcListSharedSetTypeCodes, chr(2)) to 1 by -2 :
        if entry(viCounter, vcListSharedSetTypeCodes , chr(2)) = {&tcSharedSetTypeCode}
        then do :
            assign {&tcSharedSetTypeCodeTr} = entry(viCounter - 1, vcListSharedSetTypeCodes , chr(2)) no-error.
            leave.
        end. /* if entry */
    end.
    
    /* Get the number of linked Domains */
    for each tqSharedSetForDomain where
             tqSharedSetForDomain.tiSharedSet_ID = {&tiSharedSet_ID}
             no-lock :
        assign {&tiNbrOfDomainLinked} = {&tiNbrOfDomainLinked} + 1.
    end.

    /* Get the number of linked Entities */
    for each tqSharedSetForCompany where
             tqSharedSetForCompany.tiSharedSet_ID = {&tiSharedSet_ID}
             no-lock :
        assign {&tiNbrOfEntityLinked} = {&tiNbrOfEntityLinked} + 1.
    end.

    vhQuery:get-next().
end.
vhQuery:query-close().
delete object vhQuery.