Een snelle oplossing voor complexe functies

Sommige gegevensconversies vereisen meerdere stappen om te voldoen aan de complexe eisen van moderne data-communicatie. Altova MapForce 2011 stelt u in staat om grafisch een breed scala aan wiskundige, logische, tekstuele en andere gespecialiseerde functies te combineren, zodat u complexe "data-vergelijkingen" kunt maken om de gewenste resultaten te verkrijgen. Als u werkt aan een grote, complexe mapping, als u een functie gebruikt die u nog niet kent, of wanneer uw functie een tussenresultaat produceert dat verder verwerkt moet worden, is het nuttig om uw werk bij elke stap te testen terwijl u het opbouwt. U kunt een eenvoudig tekstbestand gebruiken als een tijdelijk doel om de output van uw functie, die u nog aan het ontwikkelen bent, te bekijken. Stel dat we een datum- en tijdstempel willen toevoegen aan een bestaande koppeling tussen een uitvoerbestand en een registratie, om vast te leggen wanneer de data is gegenereerd. We kunnen nu eenvoudig experimenteren met de "MapForce now" functie in een nieuwe mapping, waarbij we simpelweg een verbinding maken met een tekstbestand.

Door op de knop "Output" (uitvoer) onderaan het venster voor de mapping te klikken, zien we direct het resultaat:

Oké, dat werkt, maar misschien wil de gebruiker van het uitvoerbestand een eleganter opgemaakte versie zien. We kunnen gebruikmaken van verschillende functies voor datums en strings en een complexe functie bouwen, totdat onze mapping er als volgt uitziet:

Of we kunnen simpelweg de functie voor het converteren van datums en tijden gebruiken, in combinatie met een string constante, om het formaat te definiëren:

Tijdens het werken kunnen we op elk moment op de knop "Uitvoer" drukken, totdat we tevreden zijn met een resultaat dat er zo uitziet:

Als u niet dagelijks met datatypes voor datum en tijd werkt, is het moeilijk om bij de eerste poging een opmaakstring te maken die het gewenste resultaat oplevert! Na verschillende pogingen, variaties en consultaties van de MapForce-help, is dit de opmaak die we hebben ontwikkeld en opgeslagen in de stringconstante die is verbonden met de opmaakingang van de functie voor het converteren van datum en tijd

Tot nu toe hebben we een tekstbestand gebruikt dat is gedefinieerd als een eenvoudig CSV-bestand met slechts één veld, maar u kunt het dialoogvenster "Eigenschappen" van het bestand openen en velden toevoegen of een meer aangepast uitvoerbestand maken.

Een voordeel van het gebruik van een tekstbestand als uitvoerbestemming is dat er geen typecontrole wordt uitgevoerd op het resultaat van de functie. Dit betekent dat u met een tekstbestand als uitvoerbestemming de output van elke functie kunt bekijken en verifiëren. Op de onderstaande screenshot zien we hoe we een wiskundige functie hebben gemaakt en een tweede veld aan de tekstbestandsuitvoer hebben toegevoegd om het resultaat weer te geven.

Het resultaat is nu een enkele rij met komma's als scheidingsteken, zoals dit:

Als ons uiteindelijke doel een databaseveld of een XML-element met een integer-datatype is, dan kunnen we direct zien dat deze wiskundige functie niet het verwachte datatype oplevert. Zodra u uw functie in de testomgeving hebt geperfectioneerd, kunt u deze eenvoudig selecteren, kopiëren en direct in uw grotere mapping plakken. Vervolgens kunt u de uitvoer van de functie verbinden met uw uiteindelijke doel. Op de onderstaande screenshot is onze functie voor het formatteren van datums en tijden (dateTime) gekoppeld aan een element in een XML-schema dat is gedefinieerd als een string.

Als dit een functie is die u waarschijnlijk in de toekomst nog vaak zult willen gebruiken, kunt u deze omzetten in een door de gebruiker gedefinieerde functie en opslaan in uw bibliotheek, zodat u deze gemakkelijk kunt hergebruiken.

U kunt zelfs een tekstbestand gebruiken als een tijdelijk doel om een complexe functie te bouwen en te testen, direct binnen uw grotere mapping. In dat geval bevat uw mapping meerdere mogelijke uitvoerbestanden. De knop met het oogje rechtsboven elk uitvoerbestand bepaalt welk uitvoerbestand wordt weergegeven in het uitvoervenster.

Wanneer u een tekstbestand selecteert als de uitvoerweergave, verwerkt de MapForce-uitvoerengine niet de volledige mapping, maar alleen de functie die verbonden is met het tekstbestand. Dit kan veel tijd besparen wanneer u alleen het resultaat van de functie wilt bekijken en uw grotere mapping een grote hoeveelheid gegevens verwerkt, of als u het risico wilt vermijden om ongeldige gegevens in een database in te voeren, en in veel andere situaties. Ontdek zelf hoe eenvoudig het is om MapForce toe te passen op uw eigen datamappingprojecten! Download een gratis proefversie van 30 dagen van MapForce.