TbePortalMetadata
Klasse, mit der dynamisch MemTables von den entsprechenden be-portal Backend-Entities erzeugt und befüllt werden.
Eigenschaften
|
Eigenschaft |
Beschreibung |
|---|---|
|
Name:C |
|
|
Tag:N |
|
Methoden
|
Methode |
Beschreibung |
|---|---|
|
CbDownloadEntityData(aEntityName:C, aBackend:C, aEntityAmountLimit: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: TbeCbAnything Object der Entity Parameter: - cEntityName: Name der Entity - cBackend: Name des be-portal Backend - nEntityAmountLimit: Obergrenze der abgerufenen Entities. |
|
CbGetEntityMetadata(aMemTable:O):O |
Liefert die zugrunde liegende Metadaten-Definition (Entity-Struktur) der mit MemTable verknüpften OData-Entity. Rückgabe: Metadaten TbeCbAnything Object Parameter: - oMemTable: MemTable aus der die Metadaten exportiert werden sollen |
|
CbCreateMemTable(aEntityName:C, aBackend: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: - cEntityName: Name der Entity - cBackend: Name des be-portal Backend |
|
CbWriteDataIntoMemTable(aMemTable:O, aEntitySet:O) |
Überträgt einen zuvor geladenen Entity-Datencontainer (z.B. Ergebnis von CbDownloadEntityData) in die Tabelle. (Ersetzt komplett die Daten der MemTable) Parameter: - oMemTable: MemTable mit passender Felddefinition - oEntitySet: TbeCbAnything Object einer Entity |
|
CbGetProductiveScenario(aLocation:N):N |
Liefert die szenario_id des Produktivszenarios (MRP) für den angegebenen Standort aus einem intern gepflegten Cache zurück. Der Cache wird beim be-Start sowie beim periodischen Verbindungstest zum be-Portal automatisch (re-)befüllt. Rückgabe: szenario_id des Produktivszenarios, oder -1 falls (noch) nicht ermittelbar (z.B. keine Verbindung zum be-Portal) Parameter: - nLocation: Standort-Nummer, für den das Produktivszenario ermittelt werden soll |
Beispiel
| oForm, oPanel, oGrid, oMemTable, oDataSource, oEntityData, oEntityName, oEntity |
oEntityName := 'ThirdPartySyncLogs',
startseq
startseq
oForm := CreateObject('TFormEx'),
oForm.OrigCapt := 'Test Tabelle für bePortalMetadata',
oForm.Position := POSCREENCENTER,
oForm.Width := 2000,
oForm.Height := 600,
oPanel := CreateObject('TPanel', 'PanelLeft', oForm, oForm),
oPanel.Align := alRight,
oPanel.Caption := '',
oPanel.BevelOuter := bvNone,
oMemTable := bePortalMetadata.CbCreateMemTable(oEntityName, backend_beng),
oEntityData := bePortalMetadata.CbDownloadEntityData(oEntityName, backend_beng, 100),
writeln(oEntityData.ToString()),
bePortalMetadata.CbWriteDataIntoMemTable(oMemTable, oEntityData),
oEntity := bePortalMetadata.CbGetEntityMetadata(oMemTable),
writeln(oEntity.ToString()),
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,