project QadFinancials > class TReportSwitchMenu > method QRFReportIsExist


Parameters


icQRFReportNameinputcharacter
olQRFReportIsExistoutputlogical
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method TReportSwitchMenu.MainMethod


program code (program1/treportswitchmenu.p)

assign olQRFReportIsExist = no.
define variable qhRptresMstr as handle no-undo.
define variable vhRptresMstr as handle no-undo.
define variable qhRptresdDet as handle no-undo.
define variable vhRptresdDet as handle no-undo.
create query qhRptresMstr in widget-pool "non-persistent".
create buffer vhRptresMstr for table "rptres_mstr".

qhRptresMstr:set-buffers(vhRptresMstr).
qhRptresMstr:query-prepare("for each rptres_mstr no-lock where rptres_code = " + quoter(icQRFReportName)).
qhRptresMstr:query-open.
qhRptresMstr:get-first().
repeat while not qhRptresMstr:query-off-end: 
    create query qhRptresdDet in widget-pool "non-persistent".
    create buffer vhRptresdDet for table "rptresd_det".
    qhRptresdDet:set-buffers(vhRptresdDet).
    qhRptresdDet:query-prepare("for each rptresd_det no-lock where rptresd_name = " + quoter(icQRFReportName)).
    qhRptresdDet:query-open.
    qhRptresdDet:get-first().
    repeat while not qhRptresdDet:query-off-end:
        assign olQRFReportIsExist = yes.
        qhRptresdDet:get-next().
    end.
    qhRptresdDet:query-close.
    delete object qhRptresdDet no-error.
    assign qhRptresdDet = ?.
    delete object vhRptresdDet no-error.

    qhRptresMstr:get-next().
end.
qhRptresMstr:query-close.
delete object qhRptresMstr no-error.
assign qhRptresMstr = ?.
delete object vhRptresMstr no-error.

/*find first rptres_mstr no-lock where rptres_code = icQRFReportName no-error.
if available rptres_mstr then
do: 
    find first rptresd_det no-lock where rptresd_name = icQRFReportName no-error.
    if available rptresd_det then
        assign olQRFReportIsExist = yes.
    else
        assign olQRFReportIsExist = no.
end.
else 
    assign olQRFReportIsExist = no.*/