Zum Inhalt springen

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);