Procedura-RepBusProjects1

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)
BusProject_IDChar(10)
NestingInteger

Závislosti:

NázevPopisTřída
RepBusProjects2Procedures

Tělo:

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

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