begin
mSQL =
'select ' ||
' A.Account_ID as Account_ID,';
if (InGroupDivisions = 'A') then begin
mSQL = mSQL ||
' A.Division_ID as Division_ID,';
end else begin
mSQL = mSQL ||
' Null as Division_ID,';
end
if (InGroupBusOrders = 'A') then begin
mSQL = mSQL ||
' A.BusOrder_ID as BusOrder_ID,';
end else begin
mSQL = mSQL ||
' Null as BusOrder_ID,';
end
if (InGroupBusTransactions = 'A') then begin
mSQL = mSQL ||
' A.BusTransaction_ID as BusTransaction_ID,';
end else begin
mSQL = mSQL ||
' Null as BusTransaction_ID,';
end
if (InGroupBusProjects = 'A') then begin
mSQL = mSQL ||
' A.BusProject_ID as BusProject_ID,';
end else begin
mSQL = mSQL ||
' Null as BusProject_ID,';
end
mSQL = mSQL ||
' Sum(DebitBeginning) as DebitBeginning,' ||
' Sum(CreditBeginning) as CreditBeginning,' ||
' Sum(DebitTurnover) as DebitTurnover,' ||
' Sum(CreditTurnover) as CreditTurnover,' ||
' Max(ACC.Code) as Code,' ||
' Max(ACC.AccountType) as AccountType,';
if (InGroupDivisions = 'A') then begin
mSQL = mSQL ||
' Max(DIV.Name) as Division,';
end else begin
mSQL = mSQL ||
' Null as Division,';
end
if (InGroupBusOrders = 'A') then begin
mSQL = mSQL ||
' Max(BO.Name) as BusOrder,';
end else begin
mSQL = mSQL ||
' Null as BusOrder,';
end
if (InGroupBusTransactions = 'A') then begin
mSQL = mSQL ||
' Max(BT.Name) as BusTransaction,';
end else begin
mSQL = mSQL ||
' Null as BusTransaction,';
end
if (InGroupBusProjects = 'A') then begin
mSQL = mSQL ||
' Max(BP.Name) as BusProject ';
end else begin
mSQL = mSQL ||
' Null as BusProject ';
end
mSQL = mSQL ||
' FROM ' ||
' ClosingTurnoverDetailed(''' || InAudited || ''', ''' || InPeriod_ID || ''') A ' ||
' LEFT JOIN Accounts ACC ON A.Account_ID = ACC.ID ';
if (InGroupDivisions = 'A') then begin
mSQL = mSQL ||
'LEFT JOIN Divisions DIV ON A.Division_ID = DIV.ID ';
end
if (InGroupBusOrders = 'A') then begin
mSQL = mSQL ||
'LEFT JOIN BusOrders BO ON A.BusOrder_ID = BO.ID ';
end
if (InGroupBusTransactions = 'A') then begin
mSQL = mSQL ||
'LEFT JOIN BusTransactions BT ON A.BusTransaction_ID = BT.ID ';
end
if (InGroupBusProjects = 'A') then begin
mSQL = mSQL ||
'LEFT JOIN BusProjects BP ON A.BusProject_ID = BP.ID ';
end
mSQL = mSQL ||
' WHERE ' ||
' (ACC.AccountType in (''A'', ''P'', ''C'', ''G'') or ((ACC.AccountType = ''0'') and (ACC.Transferable = ''A'')))';
mSQL = mSQL ||
' GROUP BY ' ||
' A.Account_ID';
if (InGroupDivisions = 'A') then begin
mSQL = mSQL ||
', A.Division_ID';
end
if (InGroupBusOrders = 'A') then begin
mSQL = mSQL ||
', A.BusOrder_ID';
end
if (InGroupBusTransactions = 'A') then begin
mSQL = mSQL ||
', A.BusTransaction_ID';
end
if (InGroupBusProjects = 'A') then begin
mSQL = mSQL ||
', A.BusProject_ID';
end
--vykonani dynamicky sestaveneho mSQL
for execute statement mSQL
into :Account_ID, :Division_ID,
:BusOrder_ID, :BusTransaction_ID, :BusProject_ID,
:DebitBeginning, :CreditBeginning,
:DebitTurnover, :CreditTurnover,
:Code, :AccountType, :Division,
:BusOrder, :BusTransaction, :BusProject
do begin
suspend;
end
end