Skip to main content
Skip table of contents

TBeMemoBusinessController

TBeMemoBusinessController

Die Klasse TBeMemoBusinessController implementiert Funktionen für die Verwendung des TBeMemoBO.

Funktionen

Funktion Beschreibung

CbCreatePrepareSQLForMemosParamsObject: TBeCbPrepareSQLForMemosParamsObject

Erzeugt ein TBeCbPrepareSQLForMemosParamsObject für CbPrepareSQLForMemos

Hinweis:
Ggf. muss das SQL-Statement manuell angepasst werden, da unter Umständen in der WHERE-Einschränkung zusätzlich ein Contains() zurückgeliefert werden kann.

Beispiel:
aPreparedSQLParts := oMemoBC.CbPrepareSQLForMemos(oSQLParamsObject),
cSQLStr := aPreparedSQLParts[1] + ' WHERE ' + aPreparedSQLParts[2] + aPreparedSQLParts[4],

CbCalcSQLForMemos(aUserNo:C, aDate:D, aFilter:C, aSearchValue:C, aOrderBy:C, aFields:C, aShowDone:L):C

Erstellt ein SQL-Statement für die Memos anhand der übergebenen Werte

CbPrepareSQLForMemos(aSQLParamsObject:TBeCbPrepareSQLForMemosParamsObject):A;

Erstellt ein SQL-Statement für die Memos anhand der übergebenen Werte und gibt diese in Form einer Array zurück

CbCalcOptimizedReadRightFilter(aDataSet:TAdsExtendedDataSet):C

Erstellt einen optimierten Leserecht-Filter

CbCalcGroupText(aMemoBO:TBeMemoBO):C

Erstellt einen Gruppen-Text anhand eines MemoBOs

CbCalcPreviewText(aMemoBO:TBeMemoBO):C

Erstellt einen Preview-Text anhand eines MemoBOs

TBeCbPrepareSQLForMemosParamsObject

Diese Klasse ist für die Verwendung des BeMemoBusinessControllers nötig und besteht ausschließlich aus Eigenschaften.

Eigenschaften

Eigenschaft Beschreibung

CbUserNo:N

User-Nummer des Memo-Users

CbUserMemo_BossAccess:C

Erlaubt den Zugriff auf Memos anhand der User-Nummer

CbUserMemo_Group:C

Einschränken auf eine bestimmte User-Gruppe

CbDate:D

Memos für das angegebene Datum

CbFilter:C

Selbstdefinierbarer Filterausdruck für die Memos

CbSearchValue:C

Suchausdruck für die Memos

CbFields:C

Anzuzeigende Felder

CbShowDone:L

Erledigte Memos anzeigen

CbOrderBy:C

Sortierung

Beispiel

CODE
//##############################################################################
// Programm zum schnellen Test der SQL-Statements
// Bei Rückfragen bitte an LG/HM wenden!
//##############################################################################
| oMemoBC, oMemoBO, oDM, oParams |

//******************************************************************************
// Ausführen des SQL-Statements. Kann Fehler auslösen soweit der Browser
// nicht über alle Felder verfügt.
//******************************************************************************
function Execute(cStatement)
| oQuery |
   oQuery := CreateObject("TBeADSQuery", "DAB065Query"),
   startseq
      oQuery.AliasName := "DAB065Query",
      oQuery.SQL       := cStatement,
      oQuery.Active    := True,
   always
      DestroyObject(oQuery),
   stopseq,
end,

//******************************************************************************
// Test-Statementwird aufbereiten
//******************************************************************************
function ExampleStatement(oParams,
                          nUserNo,
                          cBossAccess,
                          cMemoGroup,
                          dDate,
                          cFilter,
                          cSearchValue,
                          cFields,
                          bShowDone,
                          cOrderBy)
| aPreparedResult, i, cStatement, cWhere |

   oParams.CbUserNo              := nUserNo,
   oParams.CbUserMemo_BossAccess := cBossAccess,
   oParams.CbUserMemo_Group      := cMemoGroup,
   oParams.CbDate                := dDate,
   oParams.CbFilter              := cFilter,
   oParams.CbSearchValue         := cSearchValue,
   oParams.CbFields              := cFields,
   oParams.CbShowDone            := bShowDone,
   oParams.CbOrderBy             := cOrderBy,

   // Statement zusammenbauen und ausführen ************************************
   // Vorbereiten der Statement-Bestandteile
   aPreparedResult := oMemoBC.CbPrepareSQLForMemos(oParams),

   // Zusammenfügen des WHERE-Teils
   cWhere := "",
   for i := 2 to ALen(aPreparedResult) - 1 do
      if not empty(AllTrim(StrTran(aPreparedResult[i], crlf, ""))) then
         cWhere += iif(Empty(cWhere), "", " AND " + crlf),
         cWhere := cWhere + aPreparedResult[i],
      endif,
   next,
   cStatement := aPreparedResult[1] + " WHERE " + cWhere + aPreparedResult[4],

   writeln(cStatement),
   // Ausführen des Statements
   Execute(cStatement),
end,

//##############################################################################
// Hauptprogramm
//##############################################################################
oDM := CreateObject("TBeDBGet"),
startseq
   oMemoBC              := CreateObject("TBeMemoBusinessController", "TEST", oDM, oDM),
   oMemoBC.CbDataModule := oDM,
   oParams := oMemoBC.CbCreatePrepareSQLForMemosParamsObject(),
   //***************************************************************************
   // Beispiel-Statement für die Verwendung von
   // - CreatePrepareSQLForMemosParamsObject
   // - CbPrepareSQLForMemos
   //***************************************************************************
   ExampleStatement(oParams,
                    oParams.CbUserNo,
                    oParams.CbUserMemo_BossAccess,
                    oParams.CbUserMemo_Group,
                    oParams.CbDate,
                    oParams.CbFilter,
                    oParams.CbSearchValue,
                    oParams.CbFields,
                    oParams.CbShowDone,
                    oParams.CbOrderBy),
   oMemoBO := CreateObject("TBeMemoBO"),
   startseq
      writeln('Memo-Gruppen Text: ' + oMemoBC.CbCalcGroupText(oMemoBO)),
      writeln('Memo-Preview Text: ' + oMemoBC.CbCalcPreviewText(oMemoBO)),
   always
      DestroyObject(oMemoBO),
   stopseq
always
   DestroyObject(oDM),
stopseq
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.