Skip to main content
Skip table of contents

TBeasCbDataSetConverter

TBeasCbDataSetConverter

Die Klasse TBeasCbDataSetConverter ermöglicht das Konvertieren eines be-DataSet in einen DataSet zur Übertragung an einen beMobile-Client.

Eigenschaften


CbFields:A

Liste der Felder, die in die Ergebnismenge aufgenommen werden.
Ist die Liste leer, werden alle Felder in die Ergebnismenge aufgenommen.

CbKeyFields:A

Liste der Schlüsselfelder im Datenmodell des beMobile-Client.

CbFieldMapping:A

Assoziative Liste zur Abbildung von Feldnamen aus dem be-DataSet in das Datenmodell des beMobile-Client.
Feldnamen, die nicht in der Liste enthalten sind, werden unverändert übernommen.

CbDataSetsName:C

Liefert den Namen des DataSet-Array, der vom beMobile-Client erwartet wird.
Diese Eigenschaft hat den Charakter einer Konstanten.

CbDataSets:O

Array von DataSets in das der be-DataSet eingefügt werden soll.
Muss immer gesetzt sein.

CbBeDataSet:O

be-DataSet dessen Inhalt in das DataSets-Array eingefügt werden soll.
Muss nur gesetzt sein, wenn kein SQL-Statement verwendet wird.

CbDataSetDataSource:C

Name der DataSource auf dem beMobile-Client.
Muss immer angegeben werden und darf nicht leer sein.

 CbDataSetName:C

Falls in einem DataSet-Array eine DataSource mehrfach verwendet wird, können diese durch einen Namen unterschieden werden.
Die Kombination DataSource/Name darf im DataSet-Array nur einmal vorkommen.
Optional, Default ist '' (leer).

CbDataSetSelectedIndex:N

Auf dem beMobile-Client selektierter Datensatz im DataSet.
Optional, Default ist -1 (kein Datensatz ausgewählt)

CbDataSetOffset:N

Ist im Falle von aufgeteilten Übertragungen eines großen Containers relevant.
Optional, Default ist 0.

CbDataSetVariables:O

Zusätzlich zu den Daten an den beMobile-Client zu übertragende Daten.
Optional, Default ist nil (keine zusätzlichen Daten).

CbDataSetDataMode:N

Modus für die Behandlung der Daten auf dem beMobile-Client.
Erlaubte Werte: eine der CB-Konstanten beasDataSetDataModeAppend, beasDataSetDataModeReplace
Optional, Default ist beasDataSetDataModeAppend.

CbDataRecordSaveToDatabase:L

Legt fest, ob der Datensatz auf dem beMobile-Client gespeichert wird.
Optional, Default ist True.

Funktionen / Methoden


CbConvert()Konvertiert das durch die Eigenschaft 'CbBeDataSet' definierte be-DataSet in ein DataSet des Datenmodells des beMobile-Clients und fügt es dem durch die Eigenschaft 'CbDataSets' definierten Array hinzu.
CbConvertSQL()

Konvertiert das durch die das SQL-Statement definierte be-DataSet in ein DataSet des Datenmodells des beMobile-Clients und fügt es dem durch die Eigenschaft 'CbDataSets' definierten Array hinzu.

aSQL:C - SQL-Statement zur Erzeugung des zu konvertierenden DataSets

Beispiel

CODE
/******************************************************************************
// Konveriert den Inhalt eine TMemCalcTable
//******************************************************************************

| oUserSession:P1, oContext:P2, oInputParam:P3, oOutputParam:P4, , m_oDatasets,
  m_oMemTable, m_oDataSetConverter |

function AddModule(m_oMem, nID, cBez, cBildName)
   DbAppend(m_oMem),

   m_oMem:id          := nID,
   m_oMem:bezeichnung := cBez,
   m_oMem:bild_name   := cBildName,

   DbPost(m_oMem),
end,

m_oResult := oOutputParam.CbParams.AddArrayParam('datasets'),
m_oDatasets := m_oResult,

m_oMemTable := CreateObject('TMemCalcTable'),
startseq
   beas_AddMemField(m_oMemTable, 'id',          'FTINTEGER', 0,  0),
   beas_AddMemField(m_oMemTable, 'bezeichnung', 'FTString',  50, 0),
   beas_AddMemField(m_oMemTable, 'bild_name',   'FTString',  50, 0),

   m_oMemTable.Active := true,

   AddModule(m_oMemTable, waDab000, 'Kunden',      'kunde.png'),
   AddModule(m_oMemTable, waDab100, 'Lieferanten', 'lieferant.png'),
   AddModule(m_oMemTable, waDab005, 'Kontakte',    'kontakt.png'),

   m_oDataSetConverter                      := oOutputParam.CbCreateDataSetConverter(),
   m_oDataSetConverter.CbDataSetDataSource  := 'db:/bemobiledb/modul_liste',
   m_oDataSetConverter.CbDataSets           := m_oDatasets,
   m_oDataSetConverter.CbKeyFields          := {'id'},
   m_oDataSetConverter.CbFields             := {'id', 'bezeichnung', 'bild_name'},

   m_oDataSetConverter.CbBeDataSet          := m_oMemTable,
   m_oDataSetConverter.CbConvert(),
always
   DestroyObject(m_oMemTable),
stopseq,
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.