project QadFinancials > class BReportTree > method GetChildNodes1

Description

The procedure will invoke itself recursively, to return a dataitem containing all the child nodes of the input node and also the input node itselt.


Parameters


iiFRWTreeNode_IDinputinteger
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BReportTree.GetChildNodes1


program code (program1/breporttree.p)

do transaction on error undo, throw:

    find first tTreeNodeIdCodeList where tTreeNodeIdCodeList.tiFRWTreeNode_ID = iiFRWTreeNode_ID no-error.
    if available tTreeNodeIdCodeList then 
        tTreeNodeIdCodeList.tlReportNodeIsInTreeList = yes.
       
    <Q-22 run ReportTreeByParentId (all) (Read) (Cache)
       (input iiFRWTreeNode_ID, (ParentFRWTreeNode_ID)
        output dataset tqReportTreeByParentId) in BReportTree>
    for each tqReportTreeByParentId no-lock:
        create tTreeNodeIdCodeList.
        assign tTreeNodeIdCodeList.tiFRWTreeNode_ID = tqReportTreeByParentId.tiFRWTreeNode_ID
             /*  tTreeNodeIdCodeList.tcFRWTreeNodeCode = tqReportTreeByParentId.tcFRWTreeNodeCode*/
               tTreeNodeIdCodeList.tlReportNodeIsInTreeList = no.
    end.

empty temp-table tqReportTreeByParentId.

    for each tTreeNodeIdCodeList where tTreeNodeIdCodeList.tlReportNodeIsInTreeList = no no-lock:
        <M-28 run GetChildNodes1
           (input  tTreeNodeIdCodeList.tiFRWTreeNode_ID (iiFRWTreeNode_ID), 
            output viFcReturnSuper (oiReturnStatus)) in BReportTree>       
    end.
    
end.