Skriptbeispiel im Jitterbit App Builder - Erstellen einer Textdatei
Dieses Plugin erstellt eine Textdatei und verwendet dabei Werte aus einer Spalte (Zeichenfolge) einer Tabellen-ID als jede Textzeile. tableIdstring ist die Tabellen-ID-GUID des Quell-Business-Objekts. „exportColumnName“ ist der Spaltenname, der die Quellspalte für jede Textzeile ist. „fileName“ ist eine Spalte im laufenden Business-Objekt-Ereignis mit dem gewünschten Dateinamen. „exportFileName“ ist der vollständige Pfad und der gewünschte Dateiname für die erstellte Datei.
// Beispielbindung… zeigt darunter ein Beispiel für einen Filter, der auf ähnliche Weise verwendet werden kann. an App Builder Bind würde mit einem Link zu einer Crystal Report-Seite funktionieren, um die Ergebnisse des Quell-Business-Objekts zu filtern.
Anwendungsfall
Dies könnte verwendet werden, wenn das Unternehmen eine Textdatei mit fester Breite oder festem Format erstellen muss, um sie auf diese Weise mit ADP oder einem anderen Dienst zu teilen.
Plugin-Referenzen
Spalte | Datentyp | Beschreibung |
---|---|---|
tableIdstring | Unique ID | tableID-GUID des Quell-Business-Objekts |
exportColumnName | String | Spaltenname, der die Quellspalte für jede Textzeile ist |
fileName | String | Spalte im BO-Laufereignis mit dem gewünschten Dateinamen |
exportFileName | String | vollständiger Pfad und Dateiname für die erstellte Datei gewünscht |
Script zur Textdateierstellung
using System;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Vinyl.Sdk.Filtering;
// The TableId that points to the business object that will return the data we want to export
var tableIdString = "fdfa87fd-06df-4436-bcf4-1126525ab385";
// The column we are going to export - this could come from Action Row if desired
var exportColumnName = "String";
// This pulls in the filename for the Path from Event's BO
string fileName = Row["fileName"].GetValueAsString();
// The file we are writing out - this could come from Action Row if desired
var exportFileName = @"C:/App Builder Files/DEBTS_PRL/" + fileName;
// read user/password from table and create token
var eventService = Services.GetService<IEventService>();
var tableId = new Guid(tableIdString);
var filter = Services.GetService<FilterBuilder>()
.From(tableId);
filter.Filter.Limit = 10000;
// Sample binding...
// filter.Where("Country",ComparisonOperator.Equals,"USA");
var lines = new List<string>();
EventTable outputTable = await eventService.InvokeEventAsync(filter,"filter");
foreach(var row in outputTable.Rows)
{
lines.Add(row[exportColumnName].Value.ToString());
}
System.IO.File.WriteAllLines(exportFileName,lines);