Sage: Artikel mit Variantenmerkmalen suchen (FindByVariantArticle)
Sage: Artikel mit Variantenmerkmalen suchen (FindByVariantArticle)
Lesen der Daten eines oder mehrerer Artikel mit einer Suche nach Variantenmerkmalen. Es kann eine Kombination aus Artikelinformationen und Merkmalen für die Suche verwendet werden. Als Eingabe werden zwei Parametergruppen verwendet. In der ersten Eingabeparametergruppe können verschiedene Parameter mit den entsprechenden Suchkriterien des Artikels belegt werden. Falls die Parameter das Zeichen % enthalten, wird mit like gesucht, ansonsten mit =. Die einzelnen Suchkriterien werden mit UND verknüpft. Es können alle Felder der Tabelle g000 angegeben werden. Durch Belegen des Parameters lang_ext kann gesteuert werden, welche Sprache gelesen werden soll. In der zweiten Parametergruppe werden die Suchkriterien der Variantenmerkmale eingetragen. Diese Parametergruppe muss vom Typ: tdv:variantensuche sein. In dieser indizierten Parametergruppe existieren die Parameter Name, Operator und Wert. Je Suchbedingung muss auf Name der Name des Merkmals, auf Operator die Art des Vergleichs und auf Wert der zu vergleichende Wert eingetragen werden. Als Operator sind folgende Vergleiche möglich:
= | ist gleich |
> | Größer |
>= | Größer oder gleich |
< | Kleiner |
<= | Kleiner oder gleich |
!= | Ungleich |
Falls die Suche der Artikel auch die Werte einzelner Merkmale liefern soll, ist in einer dritten Parametergruppe eine Liste der zu lesenden Merkmale mitzugeben. Diese Parametergruppe muss vom Typ tdv:sage_merkmal_zuordnen sein. In dieser indizierten Parametergruppe müssen folgende Parameter belegt werden:
Name | der Name des Merkmals. (Dieser Name muss auch in der Ergebnisparametergruppe enthalten sein, sonst kann das Merkmal nicht geschrieben werden) |
Bezeichnung | Der Name eines Parameters der Ergebnisparamatergruppe, auf welchen die Bezeichnung der Ausprägung geschrieben wird. Diese Angabe ist optional |
Die Funktion liefert in einer indizierten Parametergruppe alle gefundenen Artikel zurück. Die Indizierung der Parametergruppe wird bei Bedarf angepasst. Bei Verwendung von unbekannten Suchkriterien liefert der Service eine entsprechende Fehlermeldung. Diese wird über den Parameter Meldung übergeben. Vor einer Auswertung der Ausgabeparametergruppe sollte der Parameter Meldung überprüft werden.
Folgende Parameter der Parametergruppe werden gefüllt.:
abmessung, aendnr, agr, altern, aplidentnr, aplvar, ben, ben1, bestell, bild, bild_inet, bonuskz, breite, bs, cadkz, cadnr, ch, dataen, datneu, doku, dpreis, ekpreism, epreis, gewicht, hoehe, identnr, kalkpreis, klasse, kn_sebl, kn_variant, kn_vsperre, kontovb, kontovr, kontowe, kontowv, kostst, kurz_ben, laenge, lang_ext, lgnr, mc_var, me, me_abmessung, mep, mev, mevk, norm, normnr, objektid, orpreis, pe, peek, pevk, preisgrp, prodgr, rabattkz, staffel, stlidentnr, stlvar, ts_m, ts_w, txt_nr, umrech, umrechp, umrechvk, updatenr, useraen, userneu, var, var_akt, volumen, vpreis, werkstoff, wgr, zeichnr.
Syntax: | Status = f$SageService ( Service , 'FindByVariantArticle' , 'PGINPUTList' , 'PGOUTPUT' ) | |||
| Argument | Typ | Bedeutung | |
| Service | Zeichenkette | URL des WebService Dienstes | |
| 'FindByVariantArticle' | Zeichenkette | Befehlskonstante | |
| PGINPUTList | Zeichenkette | Name der beiden mit Komma getrennten ePOS Parametergruppen mit den Suchkriterien. | |
| 'PGOUTPUT' | Zeichenkette | Name der ePOS Parametergruppe mit den Ergebnisdaten. | |
Ergebnis: | Ganzzahl | Status der Funktion: 1 : die Servicefunktion wurde erfolgreich aufgerufen -1 : die Komponente eposvbcomexe konnte nicht gefunden werden -2 : keine URL der Funktion angegeben -4 : allgemeiner Fehler | ||
Beispiel 1: | B7Service = 'http://b7demo.sagebaeurer.de/br71/callin/epos_soap' art_such.ben = '%Schub%' Variantensuche[1].Name = 'FARBE1' Variantensuche[1].Operator = '=' Variantensuche[1].Wert = 'rot' Variantensuche[2].Name = 'VAR_BREITE' Variantensuche[2].Operator = '>' Variantensuche[2].Wert = '400' Variantensuche[3].Name = 'VAR_BREITE' Variantensuche[3].Operator = '<=' Variantensuche[3].Wert = '1100' Status = f$SageService ( B7Service , 'FindByVariantArticle' , 'art_such,Variantensuche' , 'art_erg' ) | |||
Beispiel 2: | B7Service = 'http://b7demo.sagebaeurer.de/br71/callin/epos_soap' art_such.ben = '%Schub%' Variantensuche[1].Name = 'FARBE1' Variantensuche[1].Operator = '=' Variantensuche[1].Wert = 'rot' Variantensuche[2].Name = 'VAR_BREITE' Variantensuche[2].Operator = '>' Variantensuche[2].Wert = '400' Variantensuche[3].Name = 'VAR_BREITE' Variantensuche[3].Operator = '<=' Variantensuche[3].Wert = '1100' Artikelmerkmale[1].Name = 'VAR_BREITE' Artikelmerkmale[2].Name = 'FARBE1' Status = f$SageService ( B7Service , 'FindByVariantArticle' , 'art_such,Variantensuche,Artikelmerkmale' , 'art_erg' ) | |||