Skriptbeispiel im Jitterbit App Builder - Erstellung einer Textdatei
Dieses Plugin erstellt eine Textdatei, indem es Werte aus einer Spalte (String) einer tableID als jede Zeile des Textes verwendet. tableIdstring ist die tableID GUID des Quellgeschäftsobjekts. "exportColumnName" ist der Spaltenname, der die Quellspalte für jede Zeile des Textes darstellt. "fileName" ist eine Spalte im Geschäftsobjekt, die das gewünschte Dateinamenereignis enthält. "exportFileName" ist der vollständige Pfad und der Dateiname, die für die erstellte Datei gewünscht sind.
// Beispielbindung… zeigt ein Beispiel darunter für einen Filter, der auf ähnliche Weise verwendet werden kann, wie eine App Builder-Bindung auf einen Link zu einer Crystal Report-Seite, um die Ergebnisse des Quellgeschäftsobjekts zu filtern.
Anwendungsfall
Dies könnte verwendet werden, wenn das Unternehmen eine Textdatei mit fester Breite oder festem Format erstellen muss, die auf diese Weise mit ADP oder einem anderen Dienst geteilt werden soll.
Plugin-Referenzen
Spalte | Datentyp | Beschreibung |
---|---|---|
tableIdstring |
Eindeutige ID |
tableID GUID des Quellgeschäftsobjekts |
exportColumnName |
String |
Spaltenname, der die Quellspalte für jede Zeile des Textes darstellt |
fileName |
String |
Spalte im BO, die das gewünschte Dateinamenereignis enthält |
exportFileName |
String |
Vollständiger Pfad und Dateiname, die für die erstellte Datei gewünscht sind |
Skript zur Erstellung der Textdatei
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:/Vinyl 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);