Zum Inhalt springen

Tipps zum Arbeiten mit Binärspalten im Jitterbit App Builder

Aus Leistungsgründen mit App Builder Apps, fügen Sie einem Business-Objekt nur dann eine binäre Spalte hinzu, wenn Sie diese Spalte in einem Dateisteuerelement verwenden möchten. Wenn Sie ein Business-Objekt mit einer Tabelle erstellen, die binäre Spalten enthält, wählen Sie nicht die Schaltfläche Alle aus, um alle Spalten hinzuzufügen, es sei denn, dieses Objekt wird verwendet, um ein Dateisteuerelement auf einem Panel anzuzeigen. Es lohnt sich, Business-Objekte speziell für die Verwendung auf Panels zu erstellen, auf denen eine Datei hoch-/heruntergeladen wird. Überlegen Sie auch, ob Sie möglicherweise eines zu einer Benutzer-/Parametertabelle hinzugefügt haben und es zu anderen Business-Objekten hätten hinzufügen können, nachdem Sie alle Spalten ausgewählt haben.

Wenn Sie ein Multi-Row-Panel (MRP) mit 25 zurückgegebenen Datensätzen haben und im Business-Objekt hinter diesem Panel ein Binärfeld ausgewählt ist, werden bei jedem Rendern des Panels alle 25 Dateien abgerufen. Wenn Sie 4 Binärdateien in diesem Business-Objekt haben, werden bei jedem Rendern des Panels 100 Dateien abgerufen.

Wenn Sie möchten, dass eine Datei von einem MRP heruntergeladen werden kann, sollten Sie die Download-Schaltfläche auf einer ausgeblendeten Seite aufrufen, damit die Datei nicht als Teil der MRP-Bedienfelddarstellung abgerufen wird.

Unten sehen Sie eine Abfrage, die Sie auf Ihrem Server ausführen können, um EINIGE der Dateien in einem Geschäftsobjekt hinter einem Panel zu finden, in dem die Datei nicht in einem Steuerelement verwendet wird:

SELECT        TOP (100) PERCENT Ui_Control_1.Name AS Page, dbo.Ui_Control.Name AS Panel, dbo.Db_Table.Name AS DataObjectName, dbo.Db_Column.Name AS ColumnName
FROM            dbo.Ui_Control INNER JOIN
                         dbo.Ui_Control AS Ui_Control_1 ON dbo.Ui_Control.RootControlId = Ui_Control_1.ControlId INNER JOIN
                         dbo.Db_Table ON dbo.Ui_Control.SourceTableId = dbo.Db_Table.TableId INNER JOIN
                         dbo.Db_Column ON dbo.Db_Table.TableId = dbo.Db_Column.TableId INNER JOIN
                         dbo.Db_Column AS Db_Column_1 ON dbo.Db_Column.TargetColumnId = Db_Column_1.ColumnId INNER JOIN
                         dbo.Db_StorageDataType ON Db_Column_1.StorageDataTypeId = dbo.Db_StorageDataType.StorageDataTypeId LEFT OUTER JOIN
                         dbo.Ui_Control AS Ui_Control_2 ON dbo.Ui_Control.ControlId = Ui_Control_2.PanelControlId AND dbo.Db_Column.ColumnId = Ui_Control_2.SourceColumnId
WHERE        (dbo.Ui_Control.ControlTypeId = '81d20b00-15b2-f8c3-7fe1-d889d9c7e95f') AND (dbo.Db_StorageDataType.Name = N'binary') AND (Ui_Control_2.ControlId IS NULL)
ORDER BY DataObjectName

Hinweis

Beim Abrufen der Ergebnisse des Business-Objekts hinter einem Panel werden nur die Spalten abgerufen, die für die Steuerelemente erforderlich sind, AUSSER Sie verwenden bedingte Formatierung. In diesem Fall werden alle Spalten für die bedingte Logik abgerufen.