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: Beispiel: |
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
//##############################################################################
// 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