Exportfunktionen
Aus ITscope GmbH - Wissensbasis
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ü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)")