Procedura-GetSystemIDsForExpression

Parametry:

NázevPopisDatový typ
AExpressionVarChar(4096)
ADateFromFloat(0, 0)
ADateToFloat(0, 0)
ACaseSensitiveChar(1)

Návratové hodnoty:

NázevPopisDatový typ
Expr_IDChar(10)
Chart_IDChar(10)

Závislosti:

NázevPopisTřída
GetCalcExpressionsByDateProcedures
ManageUpperProcedures
ManageUpperForBlobProcedures

Tělo:

begin
  if (:ACaseSensitive = 'N') then
    AExpression = Upper(:AExpression Collate PXW_CSY);
  if ((ADateFrom <> 0) and (ADateTo <> 0)) then begin  
    for
      select CE.ID, CC.ID
        from CalcExpressions CE
        left join CalcCharts CC on CC.ID = CE.Parent_ID
        where 
        (
          ((select outExpr from 
              ManageUpperForBlob(CE.Expression, :ACaseSensitive)) like '%' || :AExpression || '%' ESCAPE '~') 
          or    
          ((select outExpr from 
              ManageUpperForBlob(CE.Condition, :ACaseSensitive)) like '%' || :AExpression || '%' ESCAPE '~')     
          or    
          ((select outExpr from 
              ManageUpperForBlob(CE.CheckExpression, :ACaseSensitive)) like '%' || :AExpression || '%' ESCAPE '~')     
        ) and    
        CE.ID in (select ID from
                   GetCalcExpressionsByDate(CE.Parent_ID, :ADateFrom, :ADateTo)
                 )
      into :Expr_ID, :Chart_ID
    do begin
      suspend;
    end
  end else begin
    /* Pokud není zadáno časové omezení, nebereme ohled na období platnosti výrazu. */
    for
      select CE.ID, CC.ID
        from CalcExpressions CE
        left join CalcCharts CC on CC.ID = CE.Parent_ID
        where 
        ((select outExpr from 
            ManageUpperForBlob(CE.Expression, :ACaseSensitive)) like '%' || :AExpression || '%' ESCAPE '~')
        or
        ((select outExpr from 
            ManageUpperForBlob(CE.Condition, :ACaseSensitive)) like '%' || :AExpression || '%' ESCAPE '~')
        or    
        ((select outExpr from 
            ManageUpperForBlob(CE.CheckExpression, :ACaseSensitive)) like '%' || :AExpression || '%' ESCAPE '~')
      into :Expr_ID, :Chart_ID
    do begin
      suspend;
    end
  end
end;

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