TBeBDECodesBO
Die Klasse TBeBDECodesBO kapselt Zugriffe auf die BDE-Codes (DabBDC).
Eigenschaften
|
Eigenschaft |
Beschreibung |
|---|---|
|
CaptionInfo:O |
|
|
CbAllowPostingCodeForPostingTypes:C |
|
|
CbAllowScrapCodeForPostingTypes:C |
|
|
CbAllowTroubleCodeForPostingTypes:C |
|
|
CbCaptionInfo:O |
|
|
CbChanged:N |
|
|
CbChangedBy:C |
|
|
CbCheckFieldRights:L |
|
|
CbCode:N |
|
|
CbComment:C |
|
|
CbCreated:N |
|
|
CbCreatedBy:C |
|
|
CbDataModule:O |
|
|
CbDescription:C |
|
|
CbGUIDStr:C |
|
|
CbID:N |
|
|
CbIsActive:L |
|
|
CbIsSystemCode:L |
|
|
CbReadOnly:L |
|
|
CbSubtractTroubleTimePreset:L |
|
|
CbTable:O |
|
|
CbUseTableAlias:C |
|
|
Name:C |
|
|
Tag:N |
|
Methoden
|
Methode |
Beschreibung |
|---|---|
|
CbGoToCode(aCode:N) |
|
|
CbGotoID(aBoID:N) |
|
|
CbInsert() |
|
|
CbEdit() |
|
|
CbCancel() |
|
|
CbPost() |
|
|
CbDelete() |
|
|
CbInEditOrInsertMode():L |
|
|
CbInEditMode():L |
|
|
CbInInsertMode():L |
|
|
CbInBrowseMode():L |
|
|
CbCanRead():L |
|
|
CbCheckRight_Read():L |
|
|
CbCheckRight_Insert():L |
|
|
CbCheckRight_Edit():L |
|
|
CbCheckRight_Delete():L |
|
|
CbCheckRight_Validate():L |
|
|
CbCheckFieldRight_Read(aFieldName:C):L |
|
|
CbCheckFieldRight_Edit(aFieldName:C):L |
|
|
CbCheckFieldRight_Validate(aFieldName:C):L |
|
Beispiel
//##############################################################################
//##############################################################################
// Beschreibung: Dieses Programm legt zur Demonstration des BDEBusinessObjects
// einen BDE Code an, verändert diesen und entfernt ihn
// anschließend wieder
//##############################################################################
//##############################################################################
| m_oDM |
//******************************************************************************
// Behandelt Fehler je nach Typen. Liefert zurück, ob der übergebene Fehler
// bereits behandelt wurde
//******************************************************************************
function HandleException(oError)
Result := False, // Fehler noch nicht behandelt
// Prüfen ob ein Code nicht gefunden werden konnte
if ClassOf(oError, 'EBeCustomDBBoIDNotFoundException') or
ClassOf(oError, 'EBeBDECodesBO') then
Result := True, // Fehler wurde behandelt
// Schöne Meldung ausgeben
SetError(GetErrorText(oError) + crlf + crlf +
ArrToStr(GetErrorStack(True))),
endif,
end,
//******************************************************************************
// Erstellt einen neuen BDE Code
//******************************************************************************
function CreateNewBDECode(oDM, nCode, cDescription, bIsActive, cComment)
| oBDECBC, oBDECodesBO |
oBDECBC := CreateObject('TBeBDECodesBusinessController', 'TESTBC', oDM),
startseq
oBDECBC.CbDataModule := oDM,
oBDECodesBO := CreateObject('TBeBDECodesBO', 'TESTBO', oDM),
startseq
oBDECodesBO.CbDataModule := oDM,
// Anlegen eines neuen Codes ******************************************
DBStartTrans(oDM.ADSConnection),
startseq
oBDECBC.BDECode_Insert(oBDECodesBO),
oBDECodesBO.CbCode := nCode,
oBDECodesBO.CbDescription := cDescription,
oBDECodesBO.CbIsActive := bIsActive,
oBDECodesBO.CbComment := cComment,
oBDECBC.BDECode_Post(oBDECodesBO),
DBCommit(oDM.ADSConnection),
always
if DBInTrans(oDM.ADSConnection) then
DBRollback(oDM.ADSConnection),
endif,
stopseq,
always
DestroyObject(oBDECodesBO),
stopseq,
always
DestroyObject(oBDECBC),
stopseq,
end,
//******************************************************************************
// Editiert einen BDE Code
//******************************************************************************
function EditBDECode(oDM, nCode, cDescription, bIsActive, cComment)
| oBDECBC, oBDECodesBO, oError |
oBDECBC := CreateObject('TBeBDECodesBusinessController', 'TESTBC', oDM),
startseq
oBDECBC.CbDataModule := oDM,
oBDECodesBO := CreateObject('TBeBDECodesBO', 'TESTBO', oDM),
startseq
oBDECodesBO.CbDataModule := oDM,
startseq
oBDECodesBO.CbGoToCode(nCode), // Code positionieren -> Wirft einen Fehler wenn der Code nicht existiert
// Verändern des Codes
DBStartTrans(oDM.ADSConnection),
startseq
oBDECBC.BDECode_Edit(oBDECodesBO),
oBDECodesBO.CbCode := nCode,
oBDECodesBO.CbDescription := cDescription,
oBDECodesBO.CbIsActive := bIsActive,
oBDECodesBO.CbComment := cComment,
oBDECBC.BDECode_Post(oBDECodesBO),
DBCommit(oDM.ADSConnection),
always
if DBInTrans(oDM.ADSConnection) then
DBRollback(oDM.ADSConnection),
endif,
stopseq,
onerror
if not HandleException(GetErrorObj()) then
Raise(),
endif,
stopseq
always
DestroyObject(oBDECodesBO),
stopseq,
always
DestroyObject(oBDECBC),
stopseq,
end,
//******************************************************************************
// Löscht einen BDE Code
//******************************************************************************
function DeleteBDECode(oDM, nCode)
| oBDECBC, oBDECodesBO, oError |
oBDECBC := CreateObject('TBeBDECodesBusinessController', 'TESTBC', oDM),
startseq
oBDECBC.CbDataModule := oDM,
oBDECodesBO := CreateObject('TBeBDECodesBO', 'TESTBO', oDM),
startseq
oBDECodesBO.CbDataModule := oDM,
startseq
oBDECodesBO.CbGoToCode(nCode), // Code positionieren -> Wirft einen Fehler wenn der Code nicht existiert
// Verändern des Codes
DBStartTrans(oDM.ADSConnection),
startseq
oBDECBC.BDECode_Delete(oBDECodesBO),
DBCommit(oDM.ADSConnection),
always
if DBInTrans(oDM.ADSConnection) then
DBRollback(oDM.ADSConnection),
endif,
stopseq,
onerror
if not HandleException(GetErrorObj()) then
SetError(GetErrorText() + crlf + crlf + ArrToStr(GetErrorStack(True))),
endif,
stopseq
always
DestroyObject(oBDECodesBO),
stopseq,
always
DestroyObject(oBDECBC),
stopseq,
end,
//##############################################################################
//##############################################################################
// Hauptprogramm
//##############################################################################
//##############################################################################
m_oDM := CreateObject('TBeDBGet', 'TESTGET'),
startseq
// Erstellten eines Test BDE Codes
CreateNewBDECode(m_oDM,
1234,
'Test BDE Code',
False,
'Dieser BDE Code ist ein Test'),
// Verändern des Test BDE Codes
EditBDECode(m_oDM,
1234,
'Veränderter Test BDE Code',
True,
'Dieser BDE Code ist ein veränderter Test'),
// Löschen des Test BDE Codes
DeleteBDECode(m_oDM, 1234),
// Versuch einen System-Code zu löschen
// DeleteBDECode(m_oDM, -11),
// Versuch einen nicht existierenden Code zu Löschen
// DeleteBDECode(m_oDM, -9999),
always
DestroyObject(m_oDM),
stopseq,