Zum Inhalt springen

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