TbengMetadata
bengMetadata
Initiale Implementierung einer Klasse, mit der dynamisch MemTables von den entsprechenden be-portal Backend-Entities erzeugt werden können.
Funktionen und Methoden
Funktionen und Methoden | Beschreibung |
---|---|
CbDownloadEntityData(cEntityName:C, cBackend:C, nEntityAmountLimit:N):O | Lädt die Datensätze der Entity (max. Limit) vom Backend, erweitert Navigationsreferenzen auf Schlüssel-Ebene und liefert den JSON/Anything-Container zurück. Rückgabe: TbeAnything Object der Entity Parameter:
|
CbGetEntities(oMemTable:O):O | Liefert die zugrunde liegende Metadaten-Definition (Entity-Struktur) der mit MemTable verknüpften OData-Entity. Rückgabe: TbeAnything Object der Entity Parameter:
|
CbCreateMemTable(cEntityName:C, cBackend:C):O | Erzeugt zur angegebenen OData-Entity eine leere, geöffnete TBeMemTable mit passenden Felddefinitionen (inkl. Auflösung einfacher Referenzen/Enums). Rückgabe: TBeMemTable Object Parameter:
|
CbWriteDataIntoMemTable(oMemTable:O, oEntitySet:O) | Überträgt einen zuvor geladenen Entity-Datencontainer (z.B. Ergebnis von CbDownloadEntityData) in die Tabelle. Parameter:
|
Konstanten
Konstanten | Beschreibung |
---|---|
bengMetadata | Globale instanz der TbengMetadata Klasse |
backend_beng | 'OData.Beng' |
backend_mrp | 'OData.MRP' |
Beispiel
| oForm, oPanel, oGrid, oMemTable, oDataSource, oEntityData:O, oEntityName |
oEntityName := 'ThirdPartySyncLogs',
startseq
startseq
oForm := CreateObject('TFormEx'),
oForm.OrigCapt := 'Test Tabelle für bengMetadata',
oForm.Position := POSCREENCENTER,
oForm.Width := 2000,
oForm.Height := 600,
oPanel := CreateObject('TPanel', 'PanelLeft', oForm, oForm),
oPanel.Align := alRight,
oPanel.Caption := '',
oPanel.BevelOuter := bvNone,
oMemTable := bengMetadata.CbCreateMemTable(oEntityName, backend_beng),
oEntityData := bengMetadata.CbDownloadEntityData(oEntityName, backend_beng, 100),
writeln(oEntityData.ToString()),
bengMetadata.CbWriteDataIntoMemTable(oMemTable, oEntityData),
oDataSource := CreateObject('TDataSourceEx', 'DataSource', oForm, oForm),
oDataSource.DataSet := oMemTable,
oGrid := CreateObject('TbeCbGrid', 'grd', oForm, oForm),
oGrid.Align := alClient,
oGrid.CbInitForDatasource(oDataSource),
ShowModal(oForm),
onerror,
writeln(GetErrorText()),
stopseq,
always,
DestroyObject(oMemTable),
DestroyObject(oEntityData),
DestroyObject(oForm),
stopseq,