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