Procedura-RepBusTransactions1

Parametry:

NázevPopisDatový typ
AuditedChar(1)
DateFromFloat(0, 0)
DateToFloat(0, 0)
FirmSelIDChar(10)
BusTransactionSelIDChar(10)
ABusTransactionsWithChildsChar(1)
DivisionSelIDChar(10)
BusOrderSelIDChar(10)
ABusOrdersWithChildsChar(1)
BusProjectSelIDChar(10)
ABusProjectsWithChildsChar(1)
SummarizeChar(1)
IsRequestChar(1)
ADivisionsWithChildsChar(1)

Návratové hodnoty:

NázevPopisDatový typ
IncomesNumeric(15, 2)
ExpensesNumeric(15, 2)
BusTransaction_IDChar(10)
NestingInteger

Závislosti:

NázevPopisTřída
RepBusTransactions2Procedures

Tělo:

begin
  for select
       SUM(A.Incomes),
       SUM(A.Expenses),
       A.BusTransaction_ID,
       MAX(Z.Parent_ID)
     from
       RepBusTransactions2 (:Audited, :DateFrom, :DateTo, :FirmSelID,
         :BusTransactionSelID, :ABusTransactionsWithChilds,
         :DivisionSelID, :BusOrderSelID, :ABusOrdersWithChilds,
         :BusProjectSelID, :ABusProjectsWithChilds,
         :IsRequest, :ADivisionsWithChilds) A
       LEFT join BusTransactions Z ON A.BusTransaction_ID = Z.ID
     group by
       A.BusTransaction_ID
     into Incomes, Expenses, BusTransaction_ID, TempParent_ID
  do begin
    Nesting = 0;
    TempBusTransaction_ID = BusTransaction_ID;
    while (BusTransaction_ID is not null and TempParent_ID is not null and Nesting < 100) do begin
      select Parent_ID, ID
        from BusTransactions where ID = :TempParent_ID
        into TempParent_ID, TempID;
      TempNesting = Nesting;
      BusTransaction_ID = TempID;
      Nesting = 0;
      if (Summarize = 'A') then suspend;
      Nesting = TempNesting + 1;
    end
    BusTransaction_ID = TempBusTransaction_ID;
    suspend;
  end
end;

Generated by ABRA Software a.s. 27.10.2021 16:34:17