Exportfunktionen

Aus ITscope GmbH - Wissensbasis

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

1 Allgemein

Itscope Exportfunktionen haben den Präfix its: und werden bei Datenexportprofilen in Datenexportfeldern in XPath Ausdrücken und in Exportfiltern verwendet.


Die folgenden Funktionen stehen zur Verfügung

2 Aggregation

2.1 marketData

Aggregierungsfunktion für Produkte, die auf einer Auswahl von Lieferanten (suppliers) basieren. Zusätzliche Angabe von Lieferstatus möglich

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Agreggierte Produktdaten anhand der gesetzten Lieferanten, Lieferstatus entspricht -veralteter Preis-
 * @param List suppliers - Liste der LieferantenIds
 */
Produktattribute marketData(List suppliers)
 
 
/**
 * Agreggierte Produktdaten anhand der gesetzten Lieferanten, Lieferstatus entspricht dem Parameter minAvail
 * @param int minAvail - mindest Lieferstatus
 * @param List suppliers - Liste der LieferantenIds
 */
Produktattribute marketData(int minAvail, List suppliers)
 
// -----------------------------------------------------------------
// Beispiele:
// -----------------------------------------------------------------
//Anzahl der Bezugsquellen
Xpath.eval("its:marketData($suppliers)/quellenanzahl");
 
// günstigster verfügbarer HEK, Variable $minAvail muss über Parameter gesetzt sein.
Xpath.eval("its:marketData($minAvail, $suppliers)/abPreis");
 
// günstigster HEK für Produkte auf Lager
Xpath.eval("its:marketData(1, $suppliers)/abPreis");
 
// ID Lieferant günstigster HEK
Xpath.eval("its:marketData( $suppliers)/bestSource/preisliste/id")
 
// Distributor Artikelnummer günstigster HEK
Xpath.eval("its:marketData($suppliers)/bestSource/dist_pid")
 
// bester Lieferstatus
Xpath.eval("its:marketData( $suppliers)/cachedStatus")
 
// aggregierter Lagerbestand
Xpath.eval("its:marketData( $suppliers)/cachedStock")

3 Content

3.1 bestContent

Wählt aus der Liste mehrerer Lieferanten die Produktbeschreibung des Lieferanten mit der höchsten Qualifizierung (mindestens 80 und Zustand des Produktes muss neu sein) aus. Wird keine Produktbeschreibung gefunden, wird der Produkt-Kurztext zurückgeliefert. Siehe auch Content-Lizenzfragen und Verwendungsrichtlinien.

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Wählt aus der Liste mehrerer Lieferanten die Produktbeschreibung aus. HTML Formatierung wird entfernt.
 * @param List suppliers - Liste der LieferantenIds
 */
ProductContent bestContent(ExpressionContext context, List suppliers)
 
/**
 * Möglichkeit zur HTML Formatierung des Originaltextes des Lieferanten
 * @param List suppliers - Liste der LieferantenIds
 * @param int html - default 0, bei 1 wird die Produktbeschreibung im HTML Format ausgegeben
 */
ProductContent bestContent(ExpressionContext context, List suppliers, int html)
 
/**
 * Möglichkeit einen Lieferanten aus der Suche auszuschliessen
 * @param List suppliers - Liste der LieferantenIds
 * @param int html - default 0, bei 1 wird die Produktbeschreibung im HTML Format ausgegeben
 * @param int supplier - LieferantenId, die bei der Suche nach Produktbeschreibungen ausgeschlossen wird
 */
ProductContent bestContent(ExpressionContext context, List suppliers, int html, int supplier)
 
// -----------------------------------------------------------------
// Beispiele:
// -----------------------------------------------------------------
// Produktbeschreibung
Xpath.eval("its:bestContent( $suppliers)/description/content")
 
// Produktbeschreibung mit HTML-Tags  
Xpath.eval("its:bestContent( $suppliers, 1)/description/content") 
 
// Produktbeschreibung mit HTML-Tags, aber nicht von TechData
Xpath.eval("its:bestContent( $suppliers, 1,58)/description/content")

3.2 bestDatasheet

Liefert den besten Datenblattlink aus der Liste aller Datenblattlinks, die diesem Produkt zugeordnet sind. Es gelten die jeweiligen Richtlinien des Datenblattlink Anbieters. Siehe auch Content-Lizenzfragen und Verwendungsrichtlinien.

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Liefert den besten Datenblattlink aus der Liste aller Datenblattlinks,  
 * die diesem Produkt zugeordnet sind.
 * @param String fallbackUrl - alternative Url, falls kein Datenblatt vorhanden ist
 */
ProductContent bestDatasheet(ExpressionContext context, String fallbackUrl)
 
// -----------------------------------------------------------------
// Beispiel:
// -----------------------------------------------------------------
// bester Datenblattlink der Lieferanten
Xpath.eval("its:bestDatasheet('')/supplierDatasheetLink/content") 
 
//Name des Lieferanten, bei dem das Datenblatt geladen wurde
Xpath.eval("its:bestDatasheet('')/supplierDatasheetLink/distri/name")

3.3 bestImage

Liefert den besten Bildlink aus der Liste aller Bildlinks, die diesem Produkt zugeordnet sind. Die Reihenfolge ist CNET,DCI,Lieferanten. Es gelten die jeweiligen Richtlinien des Anbieters. Siehe auch Content-Lizenzfragen und Verwendungsrichtlinien.

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Liefert den besten Bildlink aus der Liste aller Bildlinks, 
 * die diesem Produkt zugeordnet sind. Die Reihenfolge ist CNET,DCI,Lieferanten
 * @param String fallbackUrl - alternative Url, falls kein Bildlink vorhanden ist
 * @param int ignoreDefault - Cnet-Fallbackbilder berücksichtigen (0/1), default 1
 */
ProductContent bestImage(ExpressionContext context, String fallbackUrl, int ignoreDefault)
 
/**
 * Weitere Einstellungsmöglichkeiten für bestImage
 * @param String fallbackUrl - alternative Url, falls kein Bildlink vorhanden ist
 * @param int ignoreDefault - Cnet-Fallbackbilder berücksichtigen (0/1), default 1
 * @param String size - Mögliche Werte small, medium,large, default medium
 * @param int permitRestricted - gesperrte Bilder ignorieren, default 0
 * @param int cnetContent - Cnet-Bilder berücksichtigen, default 1
 * @param int dciContent - DCI-Fallbackbilder berücksichtigen, default 1
 * @param int supplierContent - Lieferantenbilder berücksichtigen, default 1
 */
ProductContent bestImage(ExpressionContext context, String fallbackUrl, int ignoreDefault, String size,
 int permitRestricted, int cnetContent, int dciContent, int supplierContent)
 
// -----------------------------------------------------------------
// Beispiele:
// -----------------------------------------------------------------
//Bild nach der Reihenfolge CNET, DCI, Lieferanten 
Xpath.eval("its:bestImage('', 1)/bestImageLink/content") 
 
// Medium Bild der Lieferanten (ohne CNET, DCI)  
Xpath.eval("its:bestImage('', 1, 'medium', 0, 0, 0, 1)/bestImageLink/content")

3.4 getContentLink

Gibt den Prospektlink anhand des gewünschten Contenttyps zurück. Siehe auch Content-Lizenzfragen und Verwendungsrichtlinien.

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Gibt den Prospektlink anhand des gewünschten Contenttyps zurück.
 * @param int contentType - 1: DCI Prospekte, 2:ICEcat, 5: Testeo, 6: Testberichte
 * @param int index - DCI Prospekteindex, default 0
 */
String getContentLink(ExpressionContext context, int contentType, int index)
 
// -----------------------------------------------------------------
// Beispiele:
// -----------------------------------------------------------------
// DCI Prospekt
Xpath.eval("its:getContentLink(1,0)")
 
// ICEcat Prospekt
Xpath.eval("its:getContentLink(2,0)")

3.5 getContentData

Ausgabe der DCI Hauptmerkmale. Siehe auch Content-Lizenzfragen und Verwendungsrichtlinien.

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Ausgabe der DCI Hauptmerkmale
 * @param type - 3:DCI Hauptmerkmale
 * @param prefix - z.B. "Hauptmerkmale<br>", wird vor den Merkmalsstring geschrieben,
 *                 muß eigenen Zeilentrenner enthalten
 * @param lineSep - lineSep ersetzt das Standard-HTML "<br>", also z.B: "<BR>~"
 * @param suffix - wird nach dem Merkmalsstring geschrieben, muß Zeilentrenner enthalten
 */
String getContentData(ExpressionContext context, int type, String prefix, String lineSep, String suffix)
 
// -----------------------------------------------------------------
// Beispiele:
// -----------------------------------------------------------------
// DCI Hauptmerkmale
Xpath.eval("its:getContentData(3, 'Hauptmerkmale<br>', '', '')")
 
// DCI Hauptmerkmale als Tabelle mit der Möglichkeit eigener Styleklassen
Xpath.eval("its:getContentData(3, '<table class=myformat width=100% cellpadding=0 cellspacing=0 border=0>
<tr><td width=50%>Hauptmerkmale</td><td width=50%></td></tr>
<tr><td class=left width=50%>', '</td></tr><tr><td class=right width=50%>',
 '</td></tr></table>')").replace(/: /g,":</td><td width=50%>")

3.6 getExtContentData

Ausgabe der DCI erweiterten Merkmale. Siehe auch Content-Lizenzfragen und Verwendungsrichtlinien.

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Ausgabe der DCI erweiterten Merkmale
 * @param type - 4:DCI erweiterte Merkmale DE
 * @param prefix - z.B. "Erweitertemerkmale<br>", wird vor den Merkmalsstring geschrieben,
 *                 muß eigenen Zeilentrenner enthalten
 * @param headlinePrefix - wird vor dem Merkmalsstring geschrieben, muß Zeilentrenner enthalten 
 * @param headlineSuffix - wird nach dem Merkmalsstring geschrieben, muß Zeilentrenner enthalten
 * @param detailPrefix - wird vor dem Merkmalsstring geschrieben, muß Zeilentrenner enthalten
 * @param detailSuffix - wird nach dem Merkmalsstring geschrieben, muß Zeilentrenner enthalten
 * @param suffix - wird nach dem Merkmalsstring geschrieben, muß Zeilentrenner enthalten
 */
String getExtContentData(ExpressionContext context, int type, String prefix, String headlinePrefix,
String headlineSuffix, String detailPrefix, String detailSuffix, String suffix)
 
/**
 * Ausgabe der DCI erweiterten Merkmale
 * @param type - 4:DCI erweiterte Merkmale DE
 * @param prefix - z.B. "Erweitertemerkmale<br>", wird vor den Merkmalsstring geschrieben,
 *                 muß eigenen Zeilentrenner enthalten
 * @param headlinePrefix - wird vor dem Merkmalsstring geschrieben, muß Zeilentrenner enthalten 
 * @param headlineSuffix - wird nach dem Merkmalsstring geschrieben, muß Zeilentrenner enthalten
 * @param detailPrefix - wird vor dem Merkmalsstring geschrieben, muß Zeilentrenner enthalten
 * @param detailSeparator -- lineSep ersetzt das Standard-HTML "<br>", also z.B: "<BR>~"
 * @param detailSuffix - wird nach dem Merkmalsstring geschrieben, muß Zeilentrenner enthalten
 * @param suffix - wird nach dem Merkmalsstring geschrieben, muß Zeilentrenner enthalten    */
String getExtContentData(ExpressionContext context, int type, String prefix, String headlinePrefix,
String headlineSuffix, String detailPrefix, String detailSeparator, String detailSuffix,
String suffix)
 
// -----------------------------------------------------------------
// Beispiel:
// -----------------------------------------------------------------
//erweiterte Produktbeschreibung
Xpath.eval("its:getExtContentData(4, '', '', '','', '', '')") 
 
//erweiterte Produktbeschreibung als Tabelle mit der Möglichkeit eigener Styleklassen
Xpath.eval("its:getExtContentData(4, '<table>', 
'<tr height=20><td class=r></td><td class=pn1>', 
'</td><td colspan=2 class=pn2></td><td></td></tr>',
'<tr height=20><td class=r></td><td class=h>', 
'</td><td class=b colspan=2>', 
'</td><td></td></tr>',
'</table>')")
 
//erweiterte Produktbeschreibung als Tabelle mit der Möglichkeit eigener Styleklassen
Xpath.eval("its:getExtContentData(4, 
'<tr height=20><td class=r></td><td class=pn1>Ausf&uuml;hrliche Details</td>
<td class=pn2 colspan=2></td><td></td></tr>',
'<tr height=20><td class=r></td><td class=h></td><td class=h colspan=2><b>',
'</b></td><td></td></tr>',
'<tr height=20><td class=r></td><td class=h>',
'</td><td class=b colspan=2>',
'</td><td></td></tr>',
'')")

3.7 supplierContent

Gibt den Content mehrerer Lieferanten in der angegebenen Reihenfolge aus. Siehe auch Content-Lizenzfragen und Verwendungsrichtlinien.

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Gibt den Content anhand des Contentlevels mehrerer Lieferanten
 * in der angegebenen Reihenfolge aus.
 * @param int contentLevel - 1: nur Artikelname, 2: Hersteller + Artikelname, 
 *                       3: nur Artikelbeschreibung
 *                       4: Hersteller + Artikelname + Beschreibung zusammengefügt
 * @param int supplier1 - Lieferanten Id
 * @param int supplier2 - Lieferanten Id
 * @param int supplier3 - Lieferanten Id
 * @param int supplier4 - Lieferanten Id
 */
ProductContent supplierContent(ExpressionContext context, int contentLevel,
                int supplier1, int supplier2, int supplier3, int supplier4)
 
/**
 * Gibt den Content (contentLevel = 4) mehrerer Lieferanten 
 * in der angegebenen Reihenfolge aus.
 * @param int supplier1 - Lieferanten Id
 * @param int supplier2 - Lieferanten Id
 * @param int supplier3 - Lieferanten Id
 * @param int supplier4 - Lieferanten Id
 */
ProductContent supplierContent(ExpressionContext context, 
                int supplier1, int supplier2, int supplier3, int supplier4)
 
// -----------------------------------------------------------------
// Beispiele:
// -----------------------------------------------------------------
// Content nach der eingebeben Reihenfolge der Lieferanten (Ingram,Actebis, TechData,b.com)
Xpath.eval("its:supplierContent(14,10000142,58,10000021)/description/content") 
 
// Artikelname nach der eingebeben Reihenfolge der Lieferanten (Ingram,Actebis, TechData,b.com)
Xpath.eval("its:supplierContent(1, 14,10000142,58,10000021)/description/content")

4 Kategorien

4.1 categoryEntry

Ausgabe von Produktkategorie Namen,Ids und Hierarchie. Die maximale Kategorietiefe ist 5. Siehe auch Klassifizierungen und Exportprofilparamter

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Ausgabe von Produktkategorie Namen,Ids und Hierarchie. Die maximale Kategorietiefe ist 5.
 * @param String classId - wird über den Exportprofilparameter Klassifizierung gesetzt
 */
CategoryEntry categoryEntry(ExpressionContext context, String classId)
 
/**
 * Ausgabe von Produktkategorie Namen,Ids und Hierarchie. Die maximale Kategorietiefe ist 5.
 * @param String classId - wird über den Exportprofilparameter Klassifizierung gesetzt
 * @param int idx - bei mehreren möglichen Kategoriepfaden den Pfad mit Index idx
 */
CategoryEntry categoryEntry(ExpressionContext context, String classId, int idx)
 
// -----------------------------------------------------------------
// Beispiel:
// -----------------------------------------------------------------
//Kategorie Ebene 1
Xpath.eval("its:categoryEntry($classId)/catLevel1")
 
//Kategorie Ebene 2
Xpath.eval("its:categoryEntry($classId)/catLevel2")
 
// Kategorie Id
Xpath.eval("its:categoryEntry($classId)/catId")
 
// Kategorie Hierarchie
Xpath.eval("its:categoryEntry($classId)/catHierarchy")
 
// Kategorie ID Ebene 3
Xpath.eval("its:categoryEntry($classId)/catId3")

5 Preise

5.1 priceCalc

Für die Preiskalkulation anhand von LieferantenIds

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Der x günstigste lieferbare Preis anhand einer Lieferantenliste und einer Preiskalkulation, 
 * mit Vorgabe einer Mindestlagermenge und individuellem MwSt Satz.
 * @param String pcid - Preisregel-ID
 * @param List suppliers - Lieferantenliste
 * @param int nthBestPrice - x günstigster Preis, default 1
 * @param int minstock - Mindestlagermenge, default 0. Falls Lagermenge einer Bezugsquelle > minstock dann
 *             wird diese nicht in der Preiskalkulation berücksichtigt. 
 *             Bei 0 ignoriere dieses Feature. 
 *             Ein gesetztes Fallback in der Preisregel ignoriert dieses Feature ebenfalls. 
 * @param int defaultStock - Defaultlagermenge wenn keine Lagerzahl angegeben ist, default 0. 
 *             Falls > 0 dann Lagermenge bei den Bezugsquellen ohne Lagerangaben auf 
 *             defaultStock setzen und gegen minStock prüfen. 
 *             Falls Parameter minStock 0, dann wird dieses Feature ignoriert.
 *             Ein gesetztes Fallback in der Preisregel ignoriert dieses Feature ebenfalls. 
 * @param int customVat- default 0, userspezifische MwSt kann z.B. gefüllt werden mit MwSt aus dem Produkt
 *             oder per Javascript abhängig vom Produkttyp. 
 *             Überschreibt die MwSt Einstellungen aus der Preisregel. 
 *             Falls 0 wird das Feature ignoriert. 
 
 */
CalculationBasis priceCalc(String pcid,  List suppliers, 
                           int nthBestPrice, int minstock ,int defaultStock, double customVat)
 
/**
 * Der x günstigste Preis anhand einer Lieferantenliste und einer Preiskalkulation
 * @param String pcid - Preisregel-ID
 * @param List suppliers - Lieferantenliste
 * @param int nthBestPrice - x günstigster Preis, default 1
 */
CalculationBasis priceCalc(String pcid,  List suppliers, int nthBestPrice)
 
/**
 * Der günstigste Preis anhand einer Lieferantenliste und einer Preiskalkulation
 * @param String pcid - Preisregel-ID
 * @param List supplier - Lieferantenliste
 */
CalculationBasis priceCalc(String pcid,  List suppliers)
 
/**
 * Der günstigste Preis anhand einer Preiskalkulation
 * @param String pcid - Preisregel-ID
 */
CalculationBasis priceCalc(String pcid)
 
// -----------------------------------------------------------------
// Beispiele:
// -----------------------------------------------------------------
//Gibt den besten Preis durch die Preiskalkulation aus, ermittelt aus den Bezugsquellen
//mit Mindestlagermenge 5. Verfügbare Lieferanten ohne Lagermenge erhalten für die 
//Preisberechnung die Defaultmindestlagermenge von 5. Der MwSt Satz wird aus der 
//Preiskalkulation ermittelt.
Xpath.eval("its:priceCalc($pcId,  $suppliers,1,5,7,0)/calcPrice")
 
 
//Gibt den besten Preis durch die Preiskalkulation aus, mit einem MwSt Satz,
//der bei dem jeweiligen Produkt hinterlegt ist.
var mwst = Xpath.eval("mwst");
Xpath.eval("its:priceCalc($pcId,  $suppliers,1,0,0,mwst)/calcPrice")
 
 
//Gibt den besten Preis durch die Preiskalkulation aus, mit einem MwSt Satz von 7%
Xpath.eval("its:priceCalc($pcId,  $suppliers,1,0,0,7)/calcPrice")
 
//Gibt den 3 besten Preis durch die Preiskalkulation aus
Xpath.eval("its:priceCalc($pcId,  $suppliers,3)/calcPrice")
 
 
//Gibt den Namen des ermittelten Lieferanten durch die Preiskalkulation aus
Xpath.eval("its:priceCalc($pcId,  $suppliers)/supplier/displayName")
 
//Kalkuliert den HEK von Ingram anhand der Preiskalkulation
Xpath.eval("its:priceCalc($pcId, "14")/calcPrice")
 
// Gibt den kalkulierten Preis einer festgelegten Preisregel zurück
Xpath.eval("its:priceCalc('abc910461c0-153f-11de-8140-001d60a1e2de', suppliers)/calcPrice")

5.2 priceDateDaysBefore

Vergleichsfunktion: Gibt true zurück, wenn das Preisdatum der Bezugsquellen älter ist als die Differenz in Tagen des akuellen Datums und days Tage.

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Gibt true zurück, wenn das Preisdatum der Bezugsquellen älter ist
 * als die Differenz in Tagen des akuellen Datums und days Tage
 * @param int days - Anzahl Tage
 */
boolean priceDateDaysBefore (ExpressionContext context, int days)
 
// -----------------------------------------------------------------
// Beispiele:
// -----------------------------------------------------------------
// Preise von Bezugsquellen, die nicht älter als 3 Tage sind
Xpath.eval("its:priceDatedaysBefore(3)");

5.3 hoursBefore

Vergleichsfunktion: Gibt true zurück, wenn das Preisdatum z.B. einer Preiskalkulation älter ist als die Differenz in Stunden des date Vergleichsdatums und hours Stunden.

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Gibt true zurück, wenn das Preisdatum z.B. einer Preiskalkulation älter ist
 * als die Differenz in Stunden des date Vergleichsdatums und hours Stunden
 * @param Date date - Datum mit Uhrzeit
 * @param int hours - Anzahl Stunden
 */
boolean hoursBefore(ExpressionContext context, Date date, int hours)
 
// -----------------------------------------------------------------
// Beispiele:
// -----------------------------------------------------------------
// Preis von einer Preiskalkulation, der nicht älter als 3 Stunden sind
Xpath.eval("its:hoursBefore(its:priceCalc($pcId,$suppliers)/priceDate,3)");

6 Werkzeuge

6.1 accessoriesAsString

Gibt Zubehörreferenzen als String zurück, dabei kann gewählt werden, welcher Xpath Indentifikator verwendet werden soll und die Anzahl der Zubehörreferenzen.

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/** Gibt Zubehörreferenzen als String zurück
 * @param String separator - Trennzeichen
 * @param String crossrefXpath - Xpath
 * @param int limit - Anzahl Zubehörreferenzen 
 */
String accessoriesAsString(ExpressionContext context, String separator, String crossrefXpath, int limit)
 
// -----------------------------------------------------------------
// Beispiel:
// ----------------------------------------------------------------- 
// 20 Zubehörreferenzen ProduktIds mit Trenner §
Xpath.eval("its:accessoriesAsString('§', 'uid', 20)")

6.2 conditionCount

Anzahl Bezugsquellen, die folgenden Kriterien entsprechen: Lieferstatus x, Zuordnungsqualität > y und Produktzustand z

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Anzahl Bezugsquellen mit Lieferstatus status, Zuordnungsqualität > quality und Produktzustand condition
 * @param int condition - Produktzustand 
 * @param int status - Lieferstatus 
 * @param int quality - Zuordnungsqualität 
 */
int conditionCount(ExpressionContext context, int condition,int status,int quality)
 
// -----------------------------------------------------------------
// Beispiel:
// ----------------------------------------------------------------- 
// Anzahl Bezugsquellen mit Lieferstatus Auf Lager, Zuordnungsqualität > 100 und Produktzustand Neu
Xpath.eval("its:conditionCount(1, 1, 100)")

6.3 creditorNo

Liefert die im Lieferantenkonto hinterlegte Kreditorennummer zu einer LieferantenId

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Hinterlegte Kreditorennummer zu einem Lieferanten
 * @param int lieferantId - Lieferanten Id
 */
String creditorNo(ExpressionContext context,   int lieferantId)
 
// -----------------------------------------------------------------
// Beispiel:
// ----------------------------------------------------------------- 
// hinterlegte Kreditornummer zum Lieferanten Ingram
Xpath.eval("its:creditorNo(14)");

6.4 isEmpty

Die Methode fragt ab, ob ein bestimmter Ausdruck gesetzt ist.

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Die Methode fragt ab, ob ein bestimmter Ausdruck gesetzt ist. 
 * @param String string - Ausdruck
 */
boolean isEmpty(ExpressionContext context, String string)
 
// -----------------------------------------------------------------
// Beispiel:
// ----------------------------------------------------------------- 
// Gibt es ein DCI Prospekt
Xpath.eval("its:isEmpty(its:getContentLink(1,0))")

6.5 matches

Stringvergleich eines Datenexportfelder Ausdrucks anhand Regular Expressions

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * @param String jxpath - XPath Ausdruck
 * @param String regexp - Regular Expression
 */
boolean matches(ExpressionContext context, String jxpath, String regexp)
 
// -----------------------------------------------------------------
// Beispiel:
// -----------------------------------------------------------------
// Hersteller-ID muss 3068 sein
Xpath:eval("its:matches('manufacturer/id','\b3068\b')")

6.6 matchUpc

Diese Methode überprüft, ob die exportierten Lieferanten (Zuordnungsqualität > 50 und Produktzustand Neu) die gleiche EAN/UPC gesetzt hat. Es machen nur Werte >= 2 einen Sinn.

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Gibt es minMatchCount Lieferanten mit gleicher EAN/UPC
 * @param int minMatchCount - Anzahl identischer EAN/UPC
 */
boolean matchUpc(ExpressionContext context, int minMatchCount)
 
// -----------------------------------------------------------------
// Beispiel:
// -----------------------------------------------------------------
// In den exportierten Lieferanten existieren minestens 2 Lieferanten mit der gleichen EAN
Xpath.eval("its:matchUpc(2)");

6.7 prio

Priorisiert den aktuellen Datenexportfelder Ausdruck

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Priorisiert den aktuellen Ausdruck
 * @param jxpathv - nach welchem Ausdruck priorisiert werden soll, z.B. id
 * @param priority - eine Liste mit Objektids, z.B. {"14","58"}
 */
boolean prio(ExpressionContext context, String jxpath, List priority)
 
// -----------------------------------------------------------------
// Beispiele:
// -----------------------------------------------------------------
// gibt Ingram Bezugsquelle zurück, falls vorhanden, ansonsten Tech Data Bezugsquelle 
// damit kann man Content ordnen, z.B. Beschreibungen, Bilder etc.
Xpath.eval("source[its:prio('preisliste/id', {"14","58"})]/description")

6.8 replaceByRegEx

Ersetzen von Zeichenketten in einem Originaltext anhand Regular Expressions

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * @param String source - Original Text
 * @param String regexp - Regular Expression
 * @param String replaceTo - Ersetzen durch Zeichenkette replaceTo 
 */
String replaceByRegEx(ExpressionContext context,String source, String regex, String replaceTo)
 
// -----------------------------------------------------------------
// Beispiel:
// -----------------------------------------------------------------
// Ersetze url1 mit angebeben String
Xpath.eval("its:replaceByRegEx('"+url1+"','http://.*/',
'http://www.EineDomain.de/images/product_images/original_images/')"); 
 
//Ersetze in Produktbeschreibung Text Ausdruck mit ''
var desc = Xpath.eval("its:bestContent($suppliers)/description/content");
Xpath.eval("its:replaceByRegEx('"+ desc + "','Ausdruck','')");

6.9 conditionCount

Anzahl Bezugsquellen, die folgenden Kriterien entsprechen: Lieferstatus x, Zuordnungsqualität > y und Produktzustand z

// -----------------------------------------------------------------
// Funktionparameter
// -----------------------------------------------------------------
/**
 * Anzahl Bezugsquellen mit Lieferstatus status, Zuordnungsqualität > 50 und Produktzustand neu
 * @param int status - Lieferstatus 
 */
int statusCount(ExpressionContext context, int status)
 
/**
 * Anzahl Bezugsquellen mit Lieferstatus status, Zuordnungsqualität > quality und Produktzustand condition
 * @param int condition - Produktzustand 
 * @param int status - Lieferstatus 
 * @param int quality - Zuordnungsqualität 
 */
int statusCount(ExpressionContext context, int condition,int status,int quality)
 
// -----------------------------------------------------------------
// Beispiel:
// ----------------------------------------------------------------- 
// Anzahl Bezugsquellen mit Lieferstatus Auf Lager, Zuordnungsqualität > 100 und Produktzustand Neu
Xpath.eval("its:statusCount(1, 1, 100)")
 
// Anzahl Bezugsquellen mit Lieferstatus Auf Lager, Zuordnungsqualität > 50 und Produktzustand Neu
Xpath.eval("its:statusCount(1)")